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