これは単一課題用です。
では、どこから始めればよいでしょうか。
タスク:課題は、外部の .txt ファイルである高等学校のリストを作成することです。.txt ファイルには 5 つの異なるトップ スコアのみを含めることができます。つまり、5 位のハイ スコアラーよりも高いハイ スコアを追加した場合、その 1 つを削除して新しいハイ スコアに置き換える必要があります。
クラス名をクリックすると、コードを含む貼り付けリンクにリダイレクトされます。
問題:現在のテキストを削除せずにコードにテキストを追加することはできません。コードの現在のステートメントは、問題を処理する方法が間違っている可能性がありますが、わかりません。私はいくつかの方法を試しましたが、どれもうまくいかないようでした(または間違っていました)。リストの並べ替えは、最近の割り当てで行ったので問題ありません。
とにかく、おしゃべりは十分にして、仕事に取り掛かりましょう。
私のメイン:
public class main {
public static void main(String[] args) {
menu menu = new menu();
menu.display();
}
}
import java.util.*;
public class menu {
highscores highscores = new highscores();
private Scanner input = new Scanner(System.in);
public void display() {
System.out.println("Make your selection!");
System.out.println("Select an option: \n" + " 1) Insert new score\n"
+ " 2) Print list\n" + " 3) Reset list \n" + " 4) Quit\n ");
int selection = input.nextInt();
input.nextLine();
switch (selection) {
case 1:
highscores.enterScore();
break;
case 2:
highscores.printList();
break;
case 3:
highscores.resetList();
break;
case 4:
System.out.println("Exiting program...");
System.exit(1);
default:
System.out.println("Try Again!");
break;
}
}
}
import java.io.*;
import java.util.*;
public class highscores {
public void enterScore() {
Scanner scan = new Scanner(System.in);
System.out.println("Enter the players name!: ");
String name = scan.nextLine();
System.out.println("Enter the players score!: ");
String score = scan.nextLine();
System.out.println("Player " + name + " got: " + score
+ " points. Great job!");
try {
File file = new File("HighScores.txt");
PrintWriter writer;
writer = new PrintWriter(file);
writer.println("Player name: " +name +" - " +"Player score:" +score);
writer.close();
} catch (Exception e) {
System.out.println("Error #1");
}
}
public void printList() {
try {
File file = new File("Highscores.txt");
Scanner scanner;
if (file.exists()) {
scanner = new Scanner(file);
for (int i = 0; i < 5; ++i) {
String line = scanner.nextLine();
System.out.println(line);
}
} else {
System.out.println("Error #2");
}
} catch (Exception e) {
System.out.println("Error #1");
}
}
public void resetList() {
try {
File file = new File("Highscores.txt");
PrintWriter writer;
writer = new PrintWriter(file);
for (int i = 0; i < 5; ++i) {
writer.println("Player name: x - Player score: x ");
}
writer.close();
} catch (Exception e) {
System.out.println("Error #1");
}
}
}
このコードを保存して、この割り当てに使用する方法はありますか?