Need help with creating simple calculater
Hey,
I made myself a small calculator, but I want to to choose what to use instead of only using plus.
Code :
import java.util.Scanner;
class calculator{
public static void main(String args[]){
Scanner thingy = new Scanner(System.in);
double firstnumber, secondnumber, answer;
System.out.println("Enter first number:");
firstnumber = thingy.nextDouble();
System.out.println("Enter second number");
secondnumber = thingy.nextDouble();
answer = firstnumber + secondnumber;
System.out.println(answer);
}
}
What do I need to write in order to make it?
Re: Need help with creating simple calculater
You need to decide what you want the code to do, what steps are needed and write the java code that will do those steps. Do you know what steps you want the code to do?
Re: Need help with creating simple calculater
Quote:
import java.util.Scanner;
class epler{
public static void main(String args[]){
Scanner scn = new Scanner(System.in);
double firstnumber, secondnumber, answer;
//Need a declaration for my mode, not sure which.
System.out.println("Enter first number: ");
firstnumber = scn.nextDouble();
System.out.println("Enter method: ");
mode = scn.nextInt();
if(mode == '+'){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber + secondnumber;
System.out.println(answer);
}else if(mode == '-'){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber - secondnumber;
System.out.println(answer);
}else if(mode == '*'){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber * secondnumber;
System.out.println(answer);
}else if(mode == '/'){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber / secondnumber;
System.out.println(answer);
}
}
}
This is what I've gotten to, but I need a declaration for my mode variable. Anyone knows what kind?
Re: Need help with creating simple calculater
What type of data are you going to store in the mode variable?
That would determine how you define it.
Re: Need help with creating simple calculater
The mode would be for the method user input. What is written in the input in "Enter method: ", will determine if you are going to +, -, * or /.
Re: Need help with creating simple calculater
Do you want mode to hold a String or a char value? "+' or '+'
Re: Need help with creating simple calculater
Not quite sure. I'm here cause I need some help finishing this one. How would you have done it?
Re: Need help with creating simple calculater
The Scanner class has a method for reading a String, so that might be easier.
Re: Need help with creating simple calculater
I'm not really into Strings. How do I use them?
Re: Need help with creating simple calculater
Take a look at the API doc for String class and its methods:
Java Platform SE 6
Find String in the lower left, click on it and the doc will display in the main window.
Also look at the doc for the Scanner class for samples.
Re: Need help with creating simple calculater
I added a string above: String str;
But now, at
I get "Incompatible operand types String and char"
Why is that?
If I change it to
the + sign gets an error.
Re: Need help with creating simple calculater
To compare Strings, you need to use the equals() method:
str.equals("+")
Quote:
I get "Incompatible operand types String and char"
Why is that?
String and char are not compatible. String is an object, char is a primitive.
Re: Need help with creating simple calculater
I fixed it :D Thank you so much :)
Re: Need help with creating simple calculater
Re: Need help with creating simple calculater
Ended up with making this:
Code :
import java.util.Scanner;
class apples{
public static void main(String args[]){
Scanner scn = new Scanner(System.in);
double firstnumber, secondnumber, answer;
String str;
System.out.println("Enter first number: ");
firstnumber = scn.nextDouble();
System.out.println("Enter method: ");
str = scn.next();
if(str.equals("+")){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber + secondnumber;
System.out.println(firstnumber + " plus " + secondnumber + " equals " + answer);
}else if(str.equals("-")){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber - secondnumber;
System.out.println(firstnumber + " minus " + secondnumber + " equals " + answer);
}else if(str.equals("*")){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber * secondnumber;
System.out.println(firstnumber + " multiplied with " + secondnumber + " equals " + answer);
}else if(str.equals("/")){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber / secondnumber;
System.out.println(firstnumber + " divided by " + secondnumber + " equals " + answer);
}else if(str.equals(":")){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber / secondnumber;
System.out.println(firstnumber + " divided by " + secondnumber + " equals " + answer);
}else if(str.equals("%")){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = firstnumber % secondnumber;
System.out.println("The leftovers from dividing " + firstnumber + " by " + secondnumber + " equals " + answer);
}else if(str.equals("sqrt")){
answer = Math.pow(firstnumber, 0.5);
System.out.println("The squareroot of " + firstnumber + " equals " + answer);
}else if(str.equals("squareroot")){
answer = Math.pow(firstnumber, 0.5);
System.out.println("The squareroot of " + firstnumber + " equals " + answer);
}else if(str.equals("^")){
System.out.println("Enter second number: ");
secondnumber = scn.nextDouble();
answer = Math.pow(firstnumber, secondnumber);
System.out.println(firstnumber + " ^ " + secondnumber + " equals " + answer);
}else{
System.out.println("Error, please try another method.");
}
}
}
Re: Need help with creating simple calculater
Your posted code would be easier to read if you used code tags.
[code] ...[/code]