0

プログラムが使用できる応答、具体的には 0 から 20 の数値を取得するまで、プログラムに質問を続けさせたいと考えています。このクラスには他にも多くのものがあるため、do-while が (変数に名前を付け、すべてのものに名前を付けました)。

public static void main(String[] args) {
    do {
        halp = 1;
        System.out.println("What level is your fort?");
        Scanner sc = new Scanner(System.in);

        try { 
            fortLevel = Integer.parseInt(sc.nextLine()); 
        }
        catch(NumberFormatException e){System.out.println("Numbers only, 0-20"); halp = 0;
    }

    if(halp < 1) {
        work = false;
    }

    if(halp > 1) {
        work = true;
    }

    while(work = false);
}
4

3 に答える 3

4
while(work = false); // here you are assigning false to work

する必要があります

while(work == false); //here you are checking if work is equal to false
  • =値を割り当てるために使用される代入演算子
  • ==2 つのオペランドが同じ値であるかどうかをチェックするために使用される等値演算子。

仕事はブール値であるため、これを使用することもできます:

while(!work)
于 2012-12-26T18:28:53.310 に答える
3

式で代入を使用していますwhile:

while(work = false);

あなたはと置き換えることができます

while(work == false);

またはそれ以上

while(!work);

変数halpworkが他の場所で使用されていない場合は、それらを削除して次のようにすることができます。

do {
   System.out.println("What level is your fort?");
   Scanner sc = new Scanner(System.in);
   try {
    fortLevel = Integer.parseInt(sc.nextLine());
   } catch (NumberFormatException e) {
     System.out.println("Numbers only, 0-20");
   }

} while (fortLevel < 0 || fortLevel > 20);
于 2012-12-26T18:29:02.907 に答える
0

これを行うこともできます:

if(!work) {break;}
于 2012-12-26T19:04:07.843 に答える