Comparable<Seiseki>を実装して、ファイルの中身を得点の低い順に並び変えて表示したい
java
1package Kadai0202; 2 3public class Seiseki implements Comparable<Seiseki>{ //Comparable<Seiseki>を実装 4 private String bango; //学籍番号 5 private String name; //学生氏名 6 private int ten; //得点 7 8 Seiseki(String bango,String name,int ten){ 9 this.bango = bango; 10 this.name = name; 11 this.ten = ten; 12 } 13 14 String getBango(){ 15 return bango; 16 } 17 18 String getName() { 19 return name; 20 } 21 22 int getTen() { 23 return ten; 24 } 25 26 public int compareTo(Seiseki o) { //降順 27 return o.ten - ten; 28 } 29} 30
java
1package Kadai0202; 2 3import java.io.BufferedReader; 4import java.io.FileReader; 5import java.io.IOException; 6import java.util.LinkedHashSet; 7import java.util.Scanner; 8import java.util.Set; 9 10public class Kadai0202 { 11 12 public static void main(String[] args) { 13 // TODO 自動生成されたメソッド・スタブ 14 Scanner sc = new Scanner(System.in); 15 Set<Seiseki> seiseki = new LinkedHashSet<Seiseki>(); 16 17 try(BufferedReader bw = new BufferedReader(new FileReader("seiseki.txt"))){ 18 String recode; 19 20 while((recode = bw.readLine())!= null) { 21 String[] data = recode.split(","); 22 Seiseki ss = new Seiseki(data[0],data[1],Integer.parseInt(data[2])); 23 ss.compareTo(ss); 24 seiseki.add(ss); 25 } 26 27 for(Seiseki s : seiseki) { 28 System.out.println(s.getBango() + s.getName() + s.getTen()); 29 bw.readLine(); 30 } 31 bw.close(); 32 }catch (IOException e) { 33 e.printStackTrace(); 34 } 35 } 36} 37
txt
1//成績ファイル 218JN0001,inoue Keiko,70 318JN0002,furukawa kazuya,25 418JN0003,nozima kanako,55 518JN0004,minagawa tomoki,30
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/12 08:57 編集
2019/10/12 18:51