1

掛け算の九九の各整数の二乗和を表示するプログラムを作成します。整数1〜10
教授から:表の値は、rowNumの2乗にcolNumの2乗を加えたものである必要があります。したがって、最初のエントリは2です(rowNum = 1、colNum=1。1^2+ 1 ^ 2 = 1 + 1 = 2)。次のエントリは5です(rowNum = 1、colNum = 2. 1 ^ 2 + 2 ^ 2 = 1 + 4 = 5)。

私のコードはタイトル以外は何も印刷しません。計算なし。テーブルは次のようになります。

    1 2 3 45...。
1 2 5 10 1726...。
2 5 8 13 2029...。
public class Mobilesumcp3ex3 {

    /**
     * @param args the command line arguments
     */

    public static void main ( String [] args )
    {
        // Display a title
        System.out.println( " Sum of Multipication Table" );
        System.out.println( "-------------------" );             


        int num[] = new int[10];          
        int sq[] = new int[10];                
        int sum = 0;              
        for (int i = 0; i < num.length; i++) {                       

            sq[i] = num[i] * num[i];                       
            sum += sq[i];   
        } 
        System.out.println(num+"\t"+sum);
        System.out.println("Sum of the square of numbers: " + sum);    
    }
}
4

3 に答える 3

0

いくつかの問題:

  • 配列は必要ありません
  • おそらく2つのループが必要です
  • 間違った場所で印刷しています
  • あなたは必要ありませんsum
  • の値を設定することはありませんnum。あなたが言う時

    int num[] = new int[10];
    

    配列内のすべての値は0に初期化されます(またはnullオブジェクトを処理している場合)。これはJavaが行うことです(さらに言えば、私が知っている言語では、配列の値が自動インクリメントされた値に自動的に設定されることはありません。明示的にそうするように言われました)。

ヒント:

int max = 10;

for (int i = 1; i <= max; i++)
  /* Print each cell of the header row here */

for (int i = 1; i <= max; i++)
{
  /* Print the first column of a row */
  for (int j = 1; j <= max; j++)
    /* Print each cell for this row, which will be (i*i + j*j) */
}
于 2013-03-03T22:20:23.230 に答える
0

私見あなたの問題はあなた配列を持っているということです:あなたはそれらを必要としません。

num[i]反復ロジックを使用します。この場合は、単純にi(または同様の)置き換えます。解決策は、ループを正しくすることです。

于 2013-03-03T22:21:03.337 に答える
0

配列 num[] は初期化されていません。num sq[i] = num[i] * num[i];[i] が存在しない (そこに値がない) ため、問題があります。それ以外は、コードは問題ないようです。

于 2013-03-03T22:12:53.603 に答える