我正在设计一个简单的计算器。有一些限制,用户可以输入5 5 *
或5 * 5
。我不知道怎么做。
到目前为止我的代码是......
Scanner kb = new Scanner(System.in);
System.out.println("Enter what you want to calculate");
String line = kb.nextLine();
Scanner scan = new Scanner(line);
int number1 = scan.nextInt();
int number2 = scan.nextInt();
char operator = scan.next().charAt(0);
事情是,以这种特定的方式,如果他们不输入(2 2
*
),系统崩溃。我需要修改什么,以便他们也可以输入2 * 2
。
答案 0 :(得分:0)
此代码:
int number1 = scan.nextInt();
int number2 = scan.nextInt();
char operator = scan.next().charAt(0);
表示"期望输入的第二部分是整数;如果它不是一个整数,则出现错误"
有两种方法可以解决这个问题:
1)编写查看第2项的代码,判断它是整数还是符号,然后继续。
2)或者,您可以处理错误。在可能引发错误的调用周围放置一个try-catch,然后以不同的方式处理输入。
int number2;
char operator;
try {
number2 = scan.nextInt();
operator = scan.next().charAt(0);
// process the input in this order
...
} catch (NumberFormatException e) {
// process the input in another order
...
}
答案 1 :(得分:0)
Scanner kb = new Scanner(System.in);
System.out.println("Enter what you want to calculate");
String line = kb.nextLine();
Scanner scan = new Scanner(line);
String number1 = scan.next();
String number2 = scan.next();
char operator = scan.next().charAt(0);
获得数据线后,您可以转换整数并按照自己的意愿进行操作
答案 2 :(得分:0)
以下是检查可能格式的代码,如果用户输入了正确的格式化输入,则打印值
onDragOver(event){
var x = event.offsetX;
var y = event.offsetY;
}