
タイトルのようなソートするプログラムを作りたいのですがJava初心者で分からず困っています。
o01921 2 18 21 17 41 15 48 11 7 19
n03295 31 47 2 25 7 3 3 23 61 19
k00886 2 10 31 18 0 11 59 31 20 41
f01295 39 1 45 73 11 10 5 39 0 1
o02369 31 56 6 12 2 47 25 31 19 0
f00455 3 1 60 36 4 20 39 1 24 55
h01795 5 2 35 0 32 49 10 48 41 21
y04159 34 1 37 15 67 2 21 30 29 8
o00021 15 9 47 53 51 22 29 2 0 16
w00501 68 49 64 5 9 21 18 1 11 0
↑テキストファイル
import java.io.*;
import java.util.*;
class Student {
String name;
int[] score = new int[10]; // magic number.
void show() {
System.out.print(name);
for (int i = 0; i < score.length; ++i) {
System.out.printf(" % 4d", score[i]);
}
System.out.println("");
}
}
class Base {
Base() {
}
void set(String line) {
Student student = new Student();
Scanner scanner = new Scanner(line);
student.name = scanner.next();
for (int i = 0; i < 10; ++i) { // magic number.
student.score[i] = scanner.nextInt();
}
student.show();
}
public static void main(String[] args) {
if (args.length > 0) {
Base body = new Base();
try {
BufferedReader in = new BufferedReader(new FileReader(args[0]));
String line;
while ((line = in.readLine()) != null) {
body.set(line);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
↑参照プログラム
上記の参照コードを実行すると単にファイルを読み込んで印字するだけになっています。
これにコードを追加して点数が大きい順に並び替えたいです。
同点の場合は辞書順に並びかえます。
わかる方いましたらご回答よろしくお願いします。
No.1ベストアンサー
- 回答日時:
フィールド Base#students を作る
メソッド Base#add を作り、Base#students へ Student のオブジェクトを追加する
メソッド Base#show を作り、Base#students を sort した結果を表示させる
並び替えの方法を指定できる sort の例
https://docs.oracle.com/javase/jp/8/docs/api/jav …
https://docs.oracle.com/javase/jp/8/docs/api/jav …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java Java 配列<選挙> 4 2023/07/31 15:07
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaでデータに登録する度にID...
-
csv出力について
-
yyyymmddからyyyy/mm/d...
-
javaのファイル読み込み時の文...
-
javaプログラミングの質問です。
-
テキストファイルから空白行をよむ
-
Java int sum = 0は必要ですか?
-
Windowsでの標準入力の終了の仕方
-
java.lang.NoClassDefFoundErro...
-
JavaでString型をChar型に変換...
-
[JAVA]エラーが解決できません。
-
javaのfor文が機能してないみた...
-
CSVファイルを列ごとに読み込む...
-
JAVAでエラーがでる。
-
System.err. printlnとSystem.o...
-
動的配列が存在(要素が有る)か...
-
ループ処理の際、最後だけ","を...
-
ArrayListの要素数の上限
-
C言語 重複しない4ケタの乱数...
-
「配列定数は、イニシャライザ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
yyyymmddからyyyy/mm/d...
-
テキストファイルから空白行をよむ
-
InputStream.read()でタイムア...
-
九九を横に表示する。
-
equalsの逆
-
Java int sum = 0は必要ですか?
-
csv出力について
-
BufferedReaderでのエラー
-
テキストファイルにおいて任意...
-
FileクラスのcanRead/canWrite...
-
[JAVA]エラーが解決できません。
-
Javaの質問です。テキストファ...
-
テキストファイルの任意の文字...
-
JAVAで、SSL通信
-
Class.forNameでエラーになる
-
javaのファイル読み込み時の文...
-
JAVAでエラーがでる。
-
Web上に表示されたデータをcsv...
-
java連結
-
linuxでapache poiが動かない。
おすすめ情報