前提・実現したいこと
2次元配列を使った成績表を作っています。
完成イメージはこのように名前と平均成績の表を出したいです。
発生している問題・エラーメッセージ
エラーコードは出ていないのですが、何も表示さないです。
該当のソースコード
java
1package jp.learningdesign.javastudy; 2 3 class Task2_Lab5 { 4 5 public static void main(String[] args) { 6 //1. input 7 String[][] names = { 8 {"Ewell ", "Nate"}, 9 {"Smurthwaite ", "Adelina"}, 10 {"Bernollet ", "Maryjane"}, 11 {"Chalfain ", "Karlis"}, 12 {"Huckabe ", "Almire"} 13 }; 14 double[][] grades = { 15 {3.83, 9.21, 9.25, 0.84, 1.40, 7.90, 1.41, 5.15}, 16 {5.09, 3.66, 3.04, 3.02, 8.59, 2.34, 8.86, 7.40}, 17 {5.35, 0.85, 8.56, 7.37, 2.78, 3.19, 2.04, 5.70}, 18 {9.25, 9.62, 7.08, 7.27, 9.86, 5.88, 9.86, 9.70}, 19 {3.39, 2.75, 1.23, 1.04, 3.87, 8.72, 4.60, 6.21} 20 }; 21 22 } 23 public double classAverage(double[][] grades, double classAverage) { 24 25 // avg of per line 26 double[] personAvg = new double[grades.length]; 27 for (int i = 0; i < grades.length; i++) { 28 double Sum = 0; 29 for (int j = 0; j < grades[i].length; j++) { 30 31 double classSum = 0; 32 double classAvg = 0; 33 } 34 35 double classAvg = ((Sum / grades.length) / grades[0].length); 36 37 personAvg[i] = Sum / grades[i].length;// 1行の平均 38 System.out.println("each students average " + personAvg[i]); 39 System.out.println("class average " + classAvg); 40 41 } 42 return classAverage; 43 } 44 45 public void printNames(String[][] names, double[] personAvg) { 46 String students = " "; 47 for (int i = 0; i < names.length; i++) { 48 for (int j = names[i].length - 1; j >= 0; j--) { 49 students += " " + names[i][j]; 50 } 51 students += "\t" + personAvg[i]; 52 } 53 System.out.print(students + "\t\n"); 54 students = ""; 55 56 57 } 58 }
試したこと
classAverage(grades);
printNames(names) ;
や
classAverage();
printNames() ;
をメインにおきましたがエラーが出ます。
The method classAverage(double[][], double) in the type Task2_Lab5 is not applicable for the arguments (double[] [])
回答2件
あなたの回答
tips
プレビュー