0

これは私が書いたコードです。無限ループに陥っていて、その理由がわかりません..

import java.io.*;

public class Multi{
    public static void main(String args[])throws IOException{

    int num;
    BufferedReader inpt = new BufferedReader (new InputStreamReader (System.in));

    System.out.print("Enter a number: ");
    num=Integer.parseInt(inpt.readLine());

    int z,x,y;

    while (num>=1 || num<=11){
        for(z=1; z<=num; z++){
            for(x=1; x<=z; x++){

                y=z*x;

                System.out.print(y+" ");

            }
            System.out.println();
        }

    }

  }
}

ここで示したい出力は、人が数値を入力すると、掛け算の表が表示されることです。

例えば

Enter a number: 5

Result:

 - 1 2 3 4 5
 - 2 4 6 8 10
 - 3 6 9 12 15
 - 4 8 12 16 20
 - 5 10 15 20 25

Enter a number: 3

 - 1 2 3
 - 2 4 6
 - 3 6 9
4

2 に答える 2

1

あなたのwhile条件は決して偽ではありません:

while (num>=1 || num<=11)

すべての可能な数は >= 1または<= 11 です。「または」ではなく「および」を意味していたと思います。

numまた、設定するコードをwhile ループ内に配置する必要があります。

于 2013-09-17T22:21:20.767 に答える