【发布时间】:2012-09-22 15:48:10
【问题描述】:
为什么我的程序不能使用我分配的字符串运算符来计算两个整数?由于某种原因,就好像程序不接受用户的输入一样。
import java.io.*;
public class IntCalc {
public static void main (String [] args) throws IOException {
BufferedReader kb = new BufferedReader (new InputStreamReader (System.in));
System.out.println ("This program performs an integer calculation of your choice.");
System.out.println ("Enter an integer: ");
int x = Integer.parseInt (kb.readLine());
System.out.println ("Enter a second integer: ");
int y = Integer.parseInt (kb.readLine());
System.out.print ("Would you like to find the sum, difference, product, quotient, or remainder of your product?: ");
String operator = kb.readLine();
int finalNum;
if (operator == "sum") {
int finalNum = (x + y);
} else if (operator == "difference") {
int finalNum = (x - y);
} else if (operator == "product") {
int finalNum = (x * y);
} else if (operator == "remainder") {
int finalNum = (x % y);
}
System.out.print ("The " + operator + " of your two integers is " + finalNum ".");
}
}
【问题讨论】:
-
您需要使用
.equals()而不是==来比较字符串。另见How do I compare strings in Java? -
finalNum "."那怎么编译? -
检查你的变量范围。作为您的任何 if/else if 语句中的 finalNum 与 if 条件之前定义的语句不同,并且与病房之后打印的语句不同。
-
您也可以使用
java.util.Scanner代替BufferedReader + parseInt。这会让你的代码更干净。
标签: java