-4

How will do a program that displays a multiplication table based on the size that the user inputs? And will add each row and each column? Something like this:

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  

I tried this:

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();  
}

Sample Output:

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

How I will do to add each row and each column?

4

2 回答 2

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");
}
于 2013-07-23T18:46:19.800 回答
1

由于这似乎是家庭作业,因此我不会为您编写代码感到自在。但是,请记住以下几点。

  1. 您的矩阵将始终是一个正方形,因为用户只输入一个数字,nx 个n数字。
  2. 由于这些数字沿行和列递增 1,因此每对行和列对的总和将相同。换句话说,row[n]的总数将等于column[n]的总数。

使用它,您可以创建一个大小的数组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并显示每个总值。

希望这会为您指明正确的方向!

于 2013-07-23T17:15:33.137 回答