0

だから私は Java の完全な初心者であり、電卓を使って実験しています。以下のコードは、私がこれまでに持っているものです。問題は、ラベル「ループ:」を追加するまでコードが機能することです。ラベルを追加した後、スキャナーは何らかの理由でエラーを受け取ります。ユーザーが電卓を使い続けるかどうか (コードの下部にある if ステートメント) を選択できるように、ループ ラベルが必要です。どんな助けでも大歓迎です。

import java.util.Scanner;


public class MainClass {



    public MainClass(){

        loops:

        Scanner input = new Scanner(System.in);


        System.out.println("First Number: ");
        int number1 = input.nextInt();
        System.out.println("Second Number: ");
        int number2 = input.nextInt();
        System.out.println("Operator (+, -, /, *)");
        String operation = input.next();
        String cont = input.next();

        int total;

        if(operation.equals("+")){
            total = number1 + number2;
            System.out.println(total);
        }
        if(operation.equals("-")){
            total = number1 - number2;
            System.out.println(total);
        }
        if(operation.equals("*")){
            total = number1 * number2;
            System.out.println(total);
        }
        if(operation.equals("/")){
            total = number1 / number2;
            System.out.println(total);
        }

        System.out.println("Continue? Y/N: ");
        if (cont.equalsIgnoreCase("n")){
            break loops;
        }
    }

    public static void main(String[] args) {
        new MainClass();


    }

}
4

3 に答える 3

0

あなたのコードは、最初に各スイッチ ケースでbreakステートメントを必要とします。次に、ラベルを使用すると、変数宣言に適用できません。それが、スキャナーでエラーが発生する理由の答えです。エントリ制御ループである do-while ループを使用することをお勧めします。 、構文は次のようになります

   do
   {
      //code you want to execute,will get executed at least once 
   }

   while(boolean condition);

スイッチ ケースを do 部分に配置すると、ユーザーが続行するかどうかが while 部分のブール条件になります。試してみてください。

于 2013-08-23T21:05:59.230 に答える
0

ループを使用する必要があります。ラベルは存在しますが、適切に使用していないだけです。ラベルは基本的にループに名前を付けて、特定のループを中断/継続できるようにすることができます。

于 2013-08-23T20:56:58.823 に答える