好的,所以我在教自己(以及一些youtube视频的帮助)java。所以在几段视频之后,我想我会尝试通过设置计算器来测试我的技能。现在我之前用lua完成了这个,但这是一个有点不同的球赛。我的问题是,无论我如何设置任何变量或if / else语句,程序总是最终只是跳过else ifs。我在代码的基础上放置了一个最后的其他内容,看看它是否已经达到了底部并且它确定了,所以继承我的代码
import java.util.Scanner;
public class calculator {
public static void main(String[] args){
double Answer;
String op;
double num1;
double num2;
Scanner input = new Scanner(System.in);
System.out.print("What opperation would you like to preform? +,-,*,/, :");
op = input.nextLine();
System.out.print("What is the first number? : ");
num1 = input.nextDouble();
System.out.print("And the seccond number? : ");
num2 = input.nextDouble();
if(op == "+"){
Answer = (num1 + num2);
System.out.print(Answer);
}else if(op == "-"){
Answer = num1 - num2;
System.out.print(Answer);
}else if(op == "*"){
Answer = num1 * num2;
System.out.print(Answer);
}else if(op == "/"){
Answer = num1 / num2;
System.out.print(Answer);
}else{
System.out.print("ilikecake");
}
}
}
正如您所看到的,由于此特定应用程序中字符串的灵活性,我使用了一个字符串作为opperation(op)变量,我也无法弄清楚如何让扫描程序接受char变量。我一直得到字符串不能转换为char错误所以我只是将其设置为字符串。如果你能帮助谢谢你!也请忽略帖子中的任何akward格式,我无法弄清楚如何使代码正确显示,所以我尽我所能:/
答案 0 :(得分:5)
答案 1 :(得分:2)
NOT 将字符串与==
进行比较。要比较字符串,请使用.equals()
方法。,又名:if (op.equals("+"))
简而言之,==
比较引用,而.equals()
实际上比较了字符串的内容(值)。我会详细介绍,但example已经涵盖了许多主题。