-1

私の「if」ステートメントは機能していないようです。何を入れても、常にデフォルトで「else」ステートメントになるようです。たとえば、「if」ステートメントが関連付けられている整数「1」または「2」を入力しても、デフォルトは「else」のままです。どんな助けでも大歓迎です:)

String number = JOptionPane.showInputDialog("Would you like a custom loop count or an infinite? 1.  Custom   2. Infinite"); //test choice
n = Integer.parseInt(number);
while (n < 0 || n > 2) {
    if (n == 1) {


        String number2 = JOptionPane.showInputDialog("How many times would you like to loop?");
        integer = Integer.parseInt(number2);
        while (integer < 0) {
            while (x < integer) {
                g.drawString("hi", 200, y);

                x += 1;
                y = y + 40; //test
            }//end while
        }
    }//end if 
    else if (n == 2) {
        while (1 == 1);
    }//end if   
    else;
}
g.drawString("Please pick a valid choice", 200, 200);
4

2 に答える 2

7

後のブロックの場合

while (n<0 || n>2)

が実行されると、それが < 0 または > 2 のいずれかであることがわかりますn。したがって、1 または 2 に等しいことはできず、elseブロックが実行されます;

それはあなたのコードで見つかったいくつかの奇妙なステートメントについて言及していません;-)

ps: 投稿を編集して、コードに適切なインデントを追加し、 と を含め{まし}た。今は少しはっきり見えるかもしれません。

于 2012-05-30T16:35:16.580 に答える
0
else;

それは非常に間違っています。else ステートメントがありません。つまり、次のコード行が実行されます。

この行も非常に悪いです:

while (1==1);

規範に従ってインデントし、不要な「;」を削除してください。

于 2012-05-30T16:35:06.810 に答える