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 回答
0
//To get a multiplication table for the number get from user 


#include<stdio.h>
int main() {
        
    int i;
    int num;
    scanf("%d",&num);

    for(i=1; i<=10; i++){
        printf("%d\n",i*num);
    }
    
    
    return 0;
}
于 2021-10-12T17:22:50.883 回答