-4

ユーザーが入力したサイズに基づいて九九を表示するプログラムはどのようになりますか? そして、各行と各列を追加しますか? このようなもの:

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

各行と各列を追加するにはどうすればよいですか?

4

2 に答える 2

1

これは宿題のように思えるので、あなたのコードを書くのは気が進まない. ただし、次の点に注意してください。

  1. nユーザーはx個の数字の1つの数字のみを入力するため、マトリックスは常に正方形になり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 に答える
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 に答える