Java 为什么不是';这个简单的计算器不工作吗?
我试图创建一个简单的计算器,但为什么它不打印结果呢Java 为什么不是';这个简单的计算器不工作吗?,java,Java,我试图创建一个简单的计算器,但为什么它不打印结果呢 package SimpleCalc; import java.util.Scanner; public class SimpleCalc { public static void main(String[] args) { //String metod = ""; String minus, plus, multiplikation; minus = ""; plu
package SimpleCalc;
import java.util.Scanner;
public class SimpleCalc {
public static void main(String[] args) {
//String metod = "";
String minus, plus, multiplikation;
minus = "";
plus = "";
multiplikation = "";
int resultat;
Scanner sc = new Scanner(System.in);
System.out.println("Vad vill du använda? minus, plus, multiplikation?");
String svar1 = sc.nextLine();
//svar1 += metod;
System.out.println("Vilket tal?");
int nr1 = sc.nextInt();
System.out.println("Vilket tal vill du" + svar1 + "med?");
int nr2 = sc.nextInt();
if (svar1==minus) {
resultat = nr1 - nr2;
System.out.println(nr1 + svar1 + nr2 + "blirasd: " + resultat);
}
else if (svar1==plus) {
resultat = nr1 + nr2;
System.out.println(nr1 + svar1 + nr2 + "blir: " + resultat);
}
}
}
两个问题:
==
。我建议您对字符串使用equals
方法int nr1=sc.nextInt()
如果在那里按enter键,则下一次输入int nr2=sc.nextInt()代码>将为空,解析“返回键”,即空结果。相反,我建议您使用intnr1=Integer.parseInt(sc.nextLine())代码>
您的操作字符串为空。还可以使用
equals
来比较字符串
package SimpleCalc;
import java.util.Scanner;
public class SimpleCalc {
public static void main(String[] args) {
//String metod = "";
String minus, plus, multiplikation;
minus = "-";
plus = "+";
multiplikation = "*";
int resultat;
Scanner sc = new Scanner(System.in);
System.out.println("Vad vill du använda? minus, plus, multiplikation?");
String svar1 = sc.nextLine();
//svar1 += metod;
System.out.println("Vilket tal?");
int nr1 = sc.nextInt();
System.out.println("Vilket tal vill du" + svar1 + "med?");
int nr2 = sc.nextInt();
if (svar1.equals(minus)) {
resultat = nr1 - nr2;
System.out.println(nr1 + svar1 + nr2 + "blirasd: " + resultat);
}
else if (svar1.equals(plus)) {
resultat = nr1 + nr2;
System.out.println(nr1 + svar1 + nr2 + "blir: " + resultat);
}
}
}
将运算符符号放入变量中,如下所示:
minus = "-";
plus = "+";
multiplikation = "*";
此外,无法使用=
运算符在java中比较两个字符串。你必须用同样的方法。例如
使用
if(svar1.equals(减号))
而不是if(svar1==减号)
来比较两个字符串 有几个问题加号
和减号
以及这两个空字符串,对于字符串比较,您需要使用.equals()
感谢大家的帮助,但是由于某些原因,它仍然无法打印结果。我完全按照你说的做了。代码现在看起来像是@cylon发布的代码。你能把最新的代码和你的代码输出一起粘贴吗?我不能让这个``代码的东西工作,很抱歉这么愚蠢。我做了两个粘贴框:你需要输入“-”而不是字符串“减号”。如果这个答案有帮助,那么你可以在计票下面勾选答案,这样将来对其他人会有帮助。