以下にソースを貼るのですが、うまくいくときとうまくいかない時があります。理由を探っても分かりません。ちなみに新・明解javaという本のp217の問題でもあります。
import java.util.Scanner;
class M6_19{
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
int n,i,z;
int u=0;
int j;
int sum=0;
int total=0;
int ninzu=0;
System.out.print("クラス数:"); n=stdIn.nextInt(); int[][] a = new int[n][]; for(i=0;i<n;i++){ System.out.printf("\n%d組の人数",i+1); u = stdIn.nextInt(); a[i] = new int[u];//a[0]は一組の点数の箱 ninzu += u; for(z=0;z<u;z++){ System.out.printf("%d組%d番の点数",i+1,z+1); a[i][z]=stdIn.nextInt(); } } System.out.println(" 組 | 合計 平均"); System.out.println("-----+---------------"); //合計 for(i=0;i<n;i++){ for(z=0;z<u;z++){ sum += a[i][z]; } total += sum; System.out.printf("%2d組|%7d%7.1f\n",i+1,sum,(double)sum/u); sum=0; } System.out.println("-----+---------------"); System.out.printf(" 計 |%7d%7.1f\n",total,(double)total/ninzu);
}
}
実行すると、
クラス数:2
1組の人数3
1組1番の点数50
1組2番の点数63
1組3番の点数72
2組の人数2
2組1番の点数79
2組2番の点数43
組 | 合計 平均
-----+---------------
1組| 113 56.5
2組| 122 61.0
-----+---------------
計 | 235 47.0
のように、1組の合計が最後まで足されない状況になってしまいます。どこでおかしくなってしまうのでしょうか?よろしくお願いいたします。
あと、Markdown記法の使い方が分かりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/13 16:57