1

私はオンラインの Java クラスを受講していますが、先生は次のことを求めています: ユーザーに 4 つの基本的な数学方程式 (足し算、引き算、掛け算、割り算) を示す数字を求めるメニュー プログラムを作成してください。if/else 構造を使用して必要な操作を行い、ユーザーに入力を求めて方程式を解きます。私はこれに不慣れですが、if/elseのポイントがわかりませんが、それは無関係だと思います。

以下のようにケース 1、2、3、4 を使用して動作を決定する場合、「If ステートメント」でケースを参照するにはどうすればよいですか?

int userSelection;
double x;        
double y;        
double answer;

switch ( userSelection ) {
   case 1:
        TextIO.putln("Let's add! ");
        TextIO.putln();
        TextIO.putln("Enter the first number: ");
        x = TextIO.getlnDouble();
    TextIO.putln("Enter the second number: ");
        y = TextIO.getlnDouble();
        break;

// このように 'If' を使用できると思いました

        if (case 1);  // I don't know how to refference this correctly
        answer = x + y;
        TextIO.putln( x 'plus' y 'equals' answer);

前もって感謝します!

4

5 に答える 5

1

userSelectionをオンにしているので、userSelectionにはすでに必要な値があります。userSelection変数を参照することにより、値を参照できます。

if (userSelection == 1) {
    // add
} else if (userSelection == 2) {
   // subtract
} else if (userSelection == 3) {
   // multiply
} else if (userSelection == 2) {
   // divide
}
于 2010-06-28T21:26:32.343 に答える
1

switch case ステートメントは、ネストされた if..else ステートメントを使用する構造的な代替手段であり、数値または数値データ型のさまざまな値に対して異なるロジックを実行する必要があります。if..else と組み合わせることはできません。この 2 つは、条件付きの問題を解決するための異なるアプローチです。どちらが適しているかは、評価している状態によって異なります。

私があなたのコードを正しく理解していれば、あなたは次のようなものを探していると思います:

switch ( userSelection ) {  
case 1:  
    TextIO.putln("Let's add! ");  
    TextIO.putln();  
    TextIO.putln("Enter the first number: ");  
    x = TextIO.getlnDouble();  
    TextIO.putln("Enter the second number: ");  
    y = TextIO.getlnDouble();  
    answer = x + y;    
    TextIO.putln( x + " plus " + y + " equals " + answer);   
    break;  
case 2:  
    ... //oh, I don't know. but I would guess: let's subtract!  
    break; 
case 3:  
    ... //let's multiply!
    break; 
case 4:  
    ... //let's divide! 
    break; 

}

于 2010-06-27T14:35:22.037 に答える
1

CASEステートメントを書き直すための前提コードは次のとおりです。

IF (Case==1) THEN
  *What to do when Case==1.*
ELSE IF (Case==2) THEN
  *What to do when Case==2.*
ELSE IF (Case==3) THEN
  *What to do when Case==3.*
ELSE IF (Case==4) THEN
  *What to do when Case==4.*
END IF

ただし、これを Java でコーディングする必要があります。:) 任務頑張ってください。

于 2010-06-27T14:06:37.127 に答える
1

switch単一の特定の変数/式に対して使用され、その値に基づいてケースが使用されますが、単一の変数/式をテストしていないため、これは適用されず、if-elseif-else代わりに構造体を使用する必要があります。

于 2010-06-27T14:07:32.187 に答える
0

switchインストラクターは、最初からステートメントを使用するのではなく、単にifフロー制御構造を使用することを望んでいないように思われます。

if(booleanExpression)
{

}
else if(booleanExpression2)
{

}
于 2010-06-27T14:07:24.740 に答える