入力した数値を配列に格納して総合値や平均値を求めていきたいです
最後にsubjectごとの平均を求めたいのですが求めたい数値と異なった値が出てきますので教えていただきたいです
Java
1public class Sample1 { 2 public static void main(String[] args) { 3 final int MEMBER = 4; 4 final int SUBJECT = 3; 5 int[] total = new int[MEMBER]; 6 int[][] score = new int[MEMBER][SUBJECT]; 7 int avg = 0; 8 int ave = 0; 9 int ave2 = 0; 10 int ave1 = 0; 11 int[] point = new int[5]; 12 for (int i = 0; i < MEMBER; i++) { 13 System.out.println("****Member" + (i + 1) + "****"); 14 for (int j = 0; j < SUBJECT; j++) { 15 16 System.out.print("Input point of subject" + (j + 1) + ":"); 17 score[i][j] = new java.util.Scanner(System.in).nextInt(); 18 total[i] += score[i][j]; 19 } 20 } 21System.out.println("*Name****S1*****S2*****S3*****Total***"); 22 23 for (int i = 0; i < MEMBER; i++) { 24 System.out.print(" "); 25 System.out.print("Members" + (i + 1)); 26 for (int j = 0; j < SUBJECT; j++) { 27 System.out.print(" "); 28 System.out.print(score[i][j]); 29 point[0] += score[i][0]; 30 point[1] += score[i][1]; 31 point[2] += score[i][2]; 32 System.out.print(" "); 33 } 34 avg = total[i] / SUBJECT; 35 System.out.print(total[i]); 36 System.out.print(" "); 37 System.out.println(Math.ceil(avg)); 38 39 } 40 ave = point[1] / MEMBER; 41 ave1 = point[2] / MEMBER; 42 ave2 = point[3] / MEMBER; 43System.out.println("-----------------------------------------"); 44 System.out.print("AVG"); 45 System.out.print(" "); 46 System.out.print(ave); 47 System.out.print(" "); 48 System.out.print(ave1); 49 System.out.print(" "); 50 System.out.print(ave2); 51 } 52}
うまくいかないとはどういうふうにうまくいかないのか説明を追記しましょう
また、このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
コードやエラーはマークダウンのcode機能を利用してご提示ください。
https://teratail.com/questions/238564
回答1件
あなたの回答
tips
プレビュー