我是Java和编码的新手,我正在尝试一个计算器,你输入你想要的操作,然后输入两个数字。 计算在名为“mth”的开关内完成,但我无法弄清楚如何使用字符退出程序。
如您所见,我尝试过使用
if(op.equals("x")) System.exit(0);
但似乎该程序根本没有注册它。
我尝试过很多东西,比如使用布尔值并玩一下但是我无法理解它。
public static void main(String[] args) throws IOException {
Locale.setDefault(new Locale("sv","SE"));
Scanner op = new Scanner(System.in);
System.out.println("Operation och två heltal (x för att avsluta)");
while(op.hasNext()){
if (op.equals("x")) {
System.exit(0);
}
else{
mth(op.next(), op.nextInt(), op.nextInt());
}
}
}
答案 0 :(得分:1)
应该是
try:
num = int(input().strip())
except ValueError:
print("Enter a number only")
而不是
if (op.next().equals("x")) {
if (op.equals("x")) {
是完整的op
,因此需要使用Scanner object
对象中的op.next()
取出值,然后进行比较。
答案 1 :(得分:0)
这是因为您将扫描仪与" x"进行比较。而不是输入的标志。您可以使用String input = op.next()
,然后使用if (input.equals("x")) System exit(0);
编辑:我认为最好为此比较使用其他变量,因为两次使用op.next()
可能会导致不需要的结果。通过使用额外的变量,您可以在之后使用mth(input, ...)
。
答案 2 :(得分:0)
op.equals(“x”)替换为op.next()。equals(“x”)或更好的“x”.equals(op.next())