包装计算器; import java.util。*;
公共班级计算器{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Calculator");
System.out.println("Enter a number");
double firstNumber = in.nextDouble();
System.out.println("Enter another number");
double secondNumber = in.nextDouble();
System.out.println("Enter the letter for 'm'ultiply 's'ubtract 'a'dd or 'd'ivide");
String wantedProcess = in.nextLine();
String multiply = "m";
String subtract = "s";
String add = "a";
String divide = "d";
if(wantedProcess.equals(multiply))
{
double product = firstNumber * secondNumber;
System.out.println("=" + product);
}
}
} 所以这是我正在制作的计算器,但是在我输入两个数字后,我不能输入m s a或d。我做错了什么?
答案 0 :(得分:0)
将此if(wantedProcess.equals(multiply)
更改为if(wantedProcess.equals(multiply))
你错过了)
编辑:然后 您需要再次创建一个新的Scanner对象
Scanner inF = new Scanner(System.in);
String wantedProcess = inF.nextLine();
答案 1 :(得分:0)
if(wantedProcess.equals(multiply))
你错过了最后的第二个支撑。现在看看:如果输入“m”表示乘法,然后将字符串“m”与字符串“Multiply”进行比较,您认为它们是否相等?仅比较第一个字母,例如,使用String.charAt()方法。
更重要的是,我猜你最好不要使用Scanner的next()方法,而不是nextLine()。在这里查看他们的文档:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine()