简体   繁体   English

如何使用嵌套循环打印乘法表?

[英]How to print multiplication table using nested loop?

Trying to figure out how to print a multiplication table.试图弄清楚如何打印乘法表。 The code I have right now is:我现在拥有的代码是:

Scanner scan= new Scanner(System.in);
    System.out.print("Please enter number 1-10:");
    int n=scan.nextInt();
    if(n<=10)
    {
        for(int m= 1;m<=n;m++)
        {
            for(int o= 1;o<=n;o++)
            {   
            System.out.print(m*o+"\t");
            }
        System.out.println();
        }
        
    }
    else
        System.out.print("INVALID");

It prints out :它打印出来:

表我有

I'm trying to get it to print out as :我正在尝试将其打印为:

我需要的表

Please read the comments marked with // CHANGE HERE .请阅读标有// CHANGE HERE的注释。

import java.util.*;
public class Main
{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.print("Please enter number 1-10: ");
        int n = scan.nextInt();
        // CHANGE HERE - strict checking
        if (n >= 1 && n <= 10)
        {
            // CHANGE HERE - added to print the first (header) row
            for (int m = 0; m <= n; m++)
            {
                if (m == 0)
                    System.out.print("\t");
                else
                    System.out.print(m + "\t");
            }
            System.out.println();

            for (int m = 1; m <= n; m++)
            {
                // CHANGE HERE - added to print the first column
                System.out.print(m + "\t");
                
                for (int o = 1; o <= n; o++)
                {   
                    System.out.print(m * o + "\t");
                }
                System.out.println();
            }
            
        }
        else
            System.out.println("INVALID");
    }
}

Try this.尝试这个。

Scanner scan = new Scanner(System.in);
System.out.print("Please enter number 1-10:");
int n = scan.nextInt();
if (n <= 10) {
    for (int i = 1; i <= n; ++i)
        System.out.print("\t" + i);
    System.out.println();
    for (int m = 1; m <= n; m++) {
        System.out.print(m);
        for (int o = 1; o <= n; o++) {
            System.out.print("\t" + m * o);
        }
        System.out.println();
    }

} else
    System.out.print("INVALID");

output:输出:

Please enter number 1-10:7
    1   2   3   4   5   6   7
1   1   2   3   4   5   6   7
2   2   4   6   8   10  12  14
3   3   6   9   12  15  18  21
4   4   8   12  16  20  24  28
5   5   10  15  20  25  30  35
6   6   12  18  24  30  36  42
7   7   14  21  28  35  42  49

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM