前提・実現したいこと
StreamAPIを用いて中間処理としてmapToInt()でIntStreamに変換しIntStreamに対する終端処理average()を用いて平均を求める。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
java
1import java.util.ArrayList; 2import java.util.List; 3 4public class Test { 5 6 public static void main(String[] args) { 7 List<Student>salary=new ArrayList<>(); 8 9 salary.add(new Student("John",100)); 10 salary.add(new Student("Bob",60)); 11 salary.add(new Student("Pako",80)); 12 salary.stream() 13 .mapToInt(s->s.getScore()) 14 .average(); 15 } 16 17}
java
1 2public class Salary { 3 String name; 4 int score; 5 Salary(String name, int score){ 6 this.name=name; 7 this.score=score; 8 } 9 10 String getName() { 11 return name; 12 } 13 14 int getScore() { 15 return score; 16 } 17 @Override 18 public String toString() { 19 return name+":"+score; 20 } 21 22}
試したこと
「中間処理としてmapToInt()でIntStreamに変換し」この部分が理解できなかったのでとりあえず、平均が計算されているであろうコードを書いた。
補足情報(FW/ツールのバージョンなど)
上と下のpublicは別のファイルに分けています。
課題で「中間処理としてmapToInt()でIntStreamに変換し」この部分の意味が理解できなかったのでこれのやり方が知りたいです。また、自分なりにaverageを使って書いたのですがこれを結果としてprintlnで表示したいのですがどれを()内に入れれば表示されるのかが分かりません。教えていただきたいです。
ここにより詳細な情報を記載してください。