Java乘法

时间:2013-07-23 16:15:54

标签: java

如何根据用户输入的大小显示乘法表的程序?并将添加每行和每列?像这样:

Enter a number: 4
1   2   3   4   10  
2   4   6   8   20
3   6   9   12  30
4   8   12  16  40
10  20  30  40  

我试过了:

Scanner s = new Scanner(System.in);
System.out.print("Enter a number: ");
int x = s.nextInt();
for(int i = 1; i <= x; i++)  
{  
    for (int j = 1; j <=x; j++)  
    {  
        System.out.print((i*j) + "\t");  
    }  
    System.out.println();  
}

示例输出:

Enter a number: 4
1   2   3   4   
2   4   6   8   
3   6   9   12  
4   8   12  16

如何添加每行和每列?

2 个答案:

答案 0 :(得分:1)

由于这似乎是家庭作业,我觉得为你编写代码感觉不舒服。但是,请记住以下事项。

  1. 您的矩阵将始终为正方形,因为用户只输入一个n x n个数字。
  2. 由于这些数字沿着行和列递增1,因此每个行和列对的总和将是相同的。换句话说, row [n] 的总和将等于 column [n] 的总和。
  3. 使用它,您可以创建一个大小为n的单个数组来存储每行的总和。例如:

    Enter a number: 3
    1   2   3   x
    2   4   6   y
    3   6   9   z
    x   y   z
    

    当您循环遍历每一行时,可以将行总数存储在数组中。

    Row 0: Add 1 + 2 + 3 and store in array[0]
    Row 1: Add 2 + 4 + 6 and store in array[1]
    Row 2: Add 3 + 6 + 9 and store in array[2]
    

    每一行的末尾,您只需在array[row]中显示总数即可。完成所有行的绘制后,您只需遍历array并显示每个总值。

    希望这能指出你正确的方向!

答案 1 :(得分:1)

public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.print("Enter size of table: ");
int x = s.nextInt();
int r = 0;
int l = 0;
int f = 0;
for(int i=1;i<=x;i++){    
    for (int j=1; j <=x; j++)
    {
       r = r + j;
       System.out.print(i*j+"\t"); 
    }
    System.out.print(r);
    System.out.println();
    System.out.println();
    l=l+i;
}
for(int k = 1; k<=x;k++)
{
f=f+l;
System.out.print(f + "\t");
}