Java 为什么我没有得到任何输出?
我没有从这个计算器中得到任何结果。有人能告诉我为什么吗Java 为什么我没有得到任何输出?,java,calculator,polish,Java,Calculator,Polish,我没有从这个计算器中得到任何结果。有人能告诉我为什么吗 import java.util.*; public class JavaMain { public static void main(String[] args) { float num1, num2; String op; float d, m, a, s; Scanner input = new Scanner(System.in); System.out.println("Calc
import java.util.*;
public class JavaMain {
public static void main(String[] args) {
float num1, num2;
String op;
float d, m, a, s;
Scanner input = new Scanner(System.in);
System.out.println("Calculator");
System.out.print("Please enter an operation: ");
op = input.next();
System.out.print("First Number: ");
num1 = input.nextFloat();
System.out.print("Second Number: ");
num2 = input.nextFloat();
if (op == "+"){a = (num1 + num2);
System.out.println(num1 + "+" + num2 + "=" + a);
}
if (op == "-"){s = (num1 - num2 );
System.out.println(num1 + "-" + num2 + "=" + s);
}
if (op == "/"){d = (num1/num2);
System.out.println(num1 + "/" +num2 + "=" + d);
}
if (op == "*"){m = (num1*num2);
System.out.println(num1 + "*" + num2 + "="+ m);
}
}
}// why am i not getting any outputs
您没有正确比较字符串。使用
String.equals()
方法进行字符串比较<代码>=检查它们是否是相同的对象,而不是逻辑上是否相等。
请尝试以下代码:
if (op.equals("+")){
a = (num1 + num2);
System.out.println(num1 + "+" + num2 + "=" + a);
}
在处理字符串时,我们需要使用字符串方法。也就是说,我们需要用equals()方法测试等式。此外,您的if语句应该是if-else-if语句,如这样
if (op.equals("+")) {
a = (num1 + num2);
System.out.println(num1 + "+" + num2 + "=" + a);
}else if(op.equals("-")){
s = (num1 - num2 );
System.out.println(num1 + "-" + num2 + "=" + s);
}else if(op.equals("/")){
d = (num1/num2);
System.out.println(num1 + "/" +num2 + "=" + d);
}else{//if none of the above then the operation must be the remaining
m = (num1*num2);
System.out.println(num1 + "*" + num2 + "="+ m);
}
您也可以使用开关大小写来代替。不要使用==.而不是==使用equal()进行字符串比较。