0

重複の可能性:
Java で文字列を比較するにはどうすればよいですか?

プログラムで、割り当てられた文字列演算子を使用して 2 つの整数を計算できないのはなぜですか? 何らかの理由で、プログラムがユーザーからの入力を受け入れていないようです。

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 ".");
    }
}
4

3 に答える 3

4

ここで、ステートメントのint宣言を削除する必要があります。ifまた、文字列を比較するときにString.equals(). 初期化することも確認してください。そうしないとfinalNum、コンパイラが文句を言います。

int finalNum = 0;

if (operator.equals("sum"))
{
   finalNum = (x + y);
}
else if (operator.equals("difference"))
{
   finalNum = (x - y);
}   
else if (operator.equals("product"))
{
   finalNum = (x * y);
}
else if (operator.equals("remainder"))
{
   finalNum = (x % y);
}

System.out.print ("The " + operator + " of your two integers is " + finalNum + ".");
于 2012-09-22T15:50:41.653 に答える
2

operator == "sum"を使用する代わりに、operator.equals("sum")を使用してください。

于 2012-09-22T15:50:43.230 に答える
0

いくつかのポイント:

  • if ステートメントint finalNum内に記述する場合、実際に行っているのは、新しい変数を作成して値を割り当てることです。ただし、この変数のスコープは、その特定の if ブロック内にのみ存在します。そのため、外側のfinalNum変数が更新されることはありません。

  • equalsIgnoreCase(String anotherString)ユーザーの入力が合計、差、積、剰余のいずれであるかを比較するために使用することを検討してください。これは、あなたの場合、ユーザーがsum または SUM または Sumを入力しても気にしないためです。理想的には同じ意味です。

于 2012-09-22T15:54:55.630 に答える