运行此基本计算器时收到错误消息

时间:2016-10-03 23:47:37

标签: java syntax calculator

我是Java的新手(实际上只做了大约3天)。我对Python有基本的了解,并决定学习Java。我今天用Java制作了我的第一个计算器程序,并使用与Python程序相同的程序设置。问题是,我每次运行时都会收到错误消息,特别是当它询问我想在第16行使用什么标志时。我知道这是如此基本,我确定我的问题是如此愚蠢,但我只是习惯了语法和东西,所以我想知道我做错了什么。这是代码:

new (std::nothrow) List_Node

2 个答案:

答案 0 :(得分:0)

一些事情: 在第13行你想要

sign = num.next();

if块中,您希望对字符串使用equals方法,而不是equals运算符,即您希望sign.equals("+")不是sign == "+" 正如您将看到的,这些决定了不同的价值。

此外,在您的特定if语句集中,您希望以if开头,然后接下来的3个if else if

这是因为除非else解析为true,否则最终sign.equals("/")语句将始终触发。最终的else语句仅与其上方的if相关,而不与其他if语句相关。

答案 1 :(得分:0)

minutes.Range["step"]

在输入第一个号码后,用户将按Enter键,因此您的符号= import java.util.Scanner; class Experiment { public static void main(String[] args){ double num1, num2, ans = 0; String sign; Scanner num = new Scanner(System.in); System.out.print("Enter first number: "); num1 = num.nextDouble(); System.out.print("Enter +, -, x or /: "); sign = num.next(); System.out.print("Enter second number: "); num2 = num.nextDouble(); if(sign.equals("+")){ System.out.print(num1); System.out.print(" + "); System.out.print(num2); System.out.print(" = "); System.out.print(num1 + num2); } else if(sign.equals("-")){ System.out.print(num1); System.out.print(" - "); System.out.print(num2); System.out.print(" = "); System.out.print(num1 - num2); } else if(sign.equals("x")){ System.out.print(num1); System.out.print(" x "); System.out.print(num2); System.out.print(" = "); System.out.print(num1 * num2); } else if(sign.equals("/")){ System.out.print(num1); System.out.print(" / "); System.out.print(num2); System.out.print(" = "); if (num2 != 0.0) System.out.print(num1 / num2); else System.out.print("Cannot divide by 0"); } else { System.out.print("That is not a valid input"); } } } 将读取该号码,因此您必须使用num.nextLine()。您的所有条件都应该在num.next(),并且要比较您应该使用的字符串if...else if...else