【问题标题】:How to write a multiplications table in Java? [closed]如何用Java编写乘法表? [关闭]
【发布时间】:2023-03-12 17:11:01
【问题描述】:

我正在学习 Java,我得到的任务之一是编写一个如下所示的乘法表:

 1  2  3  4  5  6  7  8  9 10 // 1
 2  4  6  8 10 12 14 16 18 20 // 2
 3  6  9 12 15 18 21 24 27 30 // 3
....

我从 2 天开始就在研究它,但我无法确定答案。 我主要关心的是如何编写一个乘以 10 并返回到下一行的代码。

我已经测试了很多方法,比如下面的代码,但是有一个问题,我不知道在哪里。

请帮帮我。

int t = 1;
while(t <= 10) {
    int r = 1;
    int a = 1;
    int b = 1;
    System.out.print(r + " ");
    a = a + 1;
    t++;
}

【问题讨论】:

  • 对于一个表,您将需要 两个 循环。嵌套它们。
  • 我们没有同样的问题。尽管答案已经存在,但他正在寻找格式化他的文本前夕。但问题是我和他做了同样的事情,但它只显示第一行。
  • 你没有这样做。你有一个while,他有2个for。这是 IT 科学,如果您编写该代码,您将得到他的确切结果。只需将 12 改为 10 并尝试理解代码。

标签: java multiplication lookup-tables


【解决方案1】:

这样的表格最好使用 for 循环来完成:

for (int i = 1; i <= 10; i++) {
    for (int j = 1; j <= 10; j++) {
        System.out.print(i*j + " ");
    }
    System.out.println();
}

如果你没有学过for循环,想用while循环,可以用

int i = 1;
int j = 1;

while (i <= 10) {
    while (j <= 10) {
        System.out.print(i*j + " ");
        j = j + 1;
    }
    System.out.println();
    i = i + 1;
}

【讨论】:

  • 感谢您的回答。我试过了,但实际上它只显示第一行这是我的代码:public class Solution { public static void main(String[] args) throws Exception { //write your code here int a = 1; int b = 1; while(a &lt;= 10){ while(b &lt;= 10){ System.out.print(a * b + " "); b = b+1; } System.out.println(); a = a + 1; } }
【解决方案2】:

  public class HelloWorld{

     public static void main(String []args){
        System.out.println("Hello World");
        int count = 1;
do {
  for( int j = 1; j <= 10; j ++) {
System.out.print( count*j +""+'\t');}
            count++;
            System.out.print('\n');

}while (count<11);





     }
}

【讨论】:

    【解决方案3】:

    用内循环来循环内循环

    public  void multiacation(){
    for(i = 1; i <= 10; i ++) {
      for(j = 1; i <= 10; i ++) {
    System.out.println(i*j +"");}}
    

    试试这个并告诉我它是否有效

    【讨论】:

    • 这不会以表格格式输出,因为您对每个值都使用了换行符。
    【解决方案4】:

    尝试两个 for 循环。

    for(i = 1; i <= 10; i ++) {
      for(j = 1; i <= 10; i ++) {
         System.out.print(i*j + " ");
      }
      System.out.println();
    }
    

    【讨论】:

    • println 上使用\n 并没有多大意义,尤其是因为\n 不一定适用于所有环境,而println 使用line.separator 的系统属性。
    • 改变了它,虽然这会有正确的输出。
    猜你喜欢
    • 2021-08-10
    • 2010-12-15
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多