Bitte helfen Ich versuche, das Programm auf eine Datei namens "highscore.txt" zugreifen zu lassen.
1: Schreiben Sie eine neue Nummer in die Datei
2: Ermittelt den niedrigsten Wert einer Liste von Zahlen in der Datei.
Bitte posten Sie den Code, wenn Sie wissen, wie.
*** Hinweis: Ich bin neu in Java und kann daher kaum auf die Datei zugreifen. ***
Bearbeiten:
Ich habe Code bekommen, von dem ich glaube, dass er funktionieren sollte, aber wenn ich das Programm starte, heißt es
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at game.game.main(game.java:91)
Java Result: 1
Hier ist Zeile 84 - 94 und der Code, den ich bekommen habe.
84: Writer wr = new FileWriter("highscore.txt");
85: wr.write(tries);
86: wr.close();
87: lowest = tries;
88: File file = new File("highscore.txt");
89: Scanner inputFile = new Scanner(file);
90: while (inputFile.hasNext()) {
91: numb = inputFile.nextDouble();
92: if (numb < lowest) lowest = number;
93: }
94: inputFile.close();
Bearbeiten:
Ich habe es etwas zu arbeiten. Es liegt ein Fehler vor und es wird lediglich ein zufälliges Unicode-Symbol in die Textdatei eingefügt. Hier ist der Code für diesen Teil:
try {
int content = tries;
File file = new File("highscore.txt");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
Writer wr = new FileWriter("highscore.txt");
wr.write(tries);
wr.close();
lowest = tries;
File file = new File("highscore.txt");
Scanner inputFile = new Scanner(file);
while (inputFile.hasNextInt()) {
numb = inputFile.nextInt();
if (numb < lowest) lowest = numb;
}
Datei:
32
12
7
9
18
66
13
17
91
Antworten:
0 für die Antwort № 1Versuche dies..
int tries = 8;
// Writing to the file
try {
int content = tries;
File file = new File("highscore.txt");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
PrintWriter pw = new PrintWriter(new FileWriter(file, true));
pw.println(content);
pw.close();
/*
* FileWriter fw = new FileWriter(file.getAbsoluteFile());
* BufferedWriter bw = new BufferedWriter(fw); bw.write(content);
* bw.close();
*/
} catch (IOException e) {
e.printStackTrace();
}
/*
* Writer wr; try { wr = new FileWriter("highscore.txt");
* wr.write(tries); wr.close(); } catch (Exception e) {
*
* }
*/
// Getting the minimum score from the file
int lowest = tries;
File file = new File("highscore.txt");
Scanner inputFile;
try {
inputFile = new Scanner(file);
while (inputFile.hasNextInt()) {
int numb = inputFile.nextInt();
if (numb < lowest)
lowest = numb;
}
System.out.println("lowest Score is: " + lowest);
} catch (FileNotFoundException e) {
e.printStackTrace();
}