Java计算器错误的运算符提示
我有一个计算器类,我希望操作输入特定于这些字符串“+,-,/,*”,如果不是,我希望打印一条消息以再次输入运算符。 如果有人想减少我的代码,请做吧。谢谢 这是我的密码Java计算器错误的运算符提示,java,calculator,Java,Calculator,我有一个计算器类,我希望操作输入特定于这些字符串“+,-,/,*”,如果不是,我希望打印一条消息以再次输入运算符。 如果有人想减少我的代码,请做吧。谢谢 这是我的密码 import java.util.Scanner; 公共类计算器1{ public static void main(String[] args) { Scanner num = new Scanner(System.in); String operation; Double fnum, lnum
import java.util.Scanner;
公共类计算器1{
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
String operation;
Double fnum, lnum, answer;
System.out.println("Enter first Number: ");
while (!num.hasNextDouble())
{
num.next();
System.out.print("Enter first Number: ");
}
fnum = num.nextDouble();
System.out.println("Enter Operation: ");
//HERE IM BEING CONFUSED
while (!num.equals("+, -, /, *"))
{
num.next();
System.out.print("Enter Operator: ");
}
operation = num.next();
//End
System.out.println("Enter Second Number: ");
while (!num.hasNextDouble())
{
num.next();
System.out.print("Enter Second Number: ");
}
lnum = num.nextDouble();
switch (operation) {
case "+":
answer = fnum + lnum;
System.out.print("Equals= " + answer);
break;
case "-":
answer = fnum - lnum;
System.out.print("Equals= " + answer);
break;
case "*":
answer = fnum * lnum;
System.out.println("Equals= " + answer);
break;
case "/":
answer = fnum / lnum;
System.out.println("Equals= " + answer);
break;
default:
System.out.println("wrong operator");
break;
}
}
}这是一种将运算符与开关语句一起使用的方法
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
double v1,v2;
String v3;
System.out.print("Enter first number: ");
v1 = num.nextDouble();
System.out.print("Enter second number: ");
v2 = num.nextDouble();
System.out.print("Enter operation [+] [-] [*] [/]: ");
v3 = num.next();
System.out.println( ("+".equals(v3) ) ? Operators.ADD.calculate(v1, v2) : "....");
}
public enum Operators {
ADD;
double calculate(double x, double y) {
switch (this) {
case ADD:
return x + y;
default:
throw new AssertionError("Unknown operations " + this);
}
}
}
!num.equals(“+,-,/,*”)
您的问题是什么?调试并逐步完成代码时会发生什么?什么是错误?num
是一个扫描仪
。它永远不会等于字符串。