Guten Tag liebes Java-Forum,
aktuell habe ich den Selection Sort Algorithmus richtig implementiert, doch ich möchte die Zahlen in der Textdatei sortieren und nicht selbst eingegebene vom Array.
Ich weiß nicht wie ich die Zahlen in der Textdatei einlesen und sortieren kann.
Hiermit funktioniert das super: int[] unsortiert = { 4, 1, 8, -3, 5, 7 }; und er sortiert mir alle Zahlen doch ich möchte die File einlesen.
Und wenn ich den Code ausführe, gibt er Jede Zahl der Textdatei in der Console aus
Mit freundlichen Grüßen und danke für eure Hilfe
aktuell habe ich den Selection Sort Algorithmus richtig implementiert, doch ich möchte die Zahlen in der Textdatei sortieren und nicht selbst eingegebene vom Array.
Ich weiß nicht wie ich die Zahlen in der Textdatei einlesen und sortieren kann.
Hiermit funktioniert das super: int[] unsortiert = { 4, 1, 8, -3, 5, 7 }; und er sortiert mir alle Zahlen doch ich möchte die File einlesen.
Und wenn ich den Code ausführe, gibt er Jede Zahl der Textdatei in der Console aus
Mit freundlichen Grüßen und danke für eure Hilfe
Java:
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Objects;
import java.util.Scanner;
public class SelectionSort {
private final Scanner consoleScanner;
public SelectionSort() {
System.out.println("Hello, Kogo!");
readNumbersFromFile("data_20");
consoleScanner = new Scanner(System.in);
readLineFromConsole();
}
private void readLineFromConsole() {
int number = consoleScanner.nextInt();
System.out.println("Zahl: " + number);
}
public static void readNumbersFromFile(String fileName) {
Path path;
Scanner scanner;
try {
path = Paths.get(Objects.requireNonNull(Application.class.getClassLoader().getResource(fileName)).toURI());
scanner = new Scanner(path, StandardCharsets.UTF_8);
int elemAnzahl = scanner.nextInt();
int index = 0;
while (scanner.hasNextInt()) {
System.out.println(index + ". Zahl: " + scanner.nextInt());
++index;
}
scanner.close();
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
}
}
public static int[] selectionsort(int[] sortieren) {
for (int i = 0; i < sortieren.length - 1; i++) {
for (int j = i + 1; j < sortieren.length; j++) {
if (sortieren[i] > sortieren[j]) {
int temp = sortieren[i];
sortieren[i] = sortieren[j];
sortieren[j] = temp;
}
}
}
return sortieren;
}
public static void main(String[] args) {
//int[] unsortiert = { 4, 1, 8, -3, 5, 7 };
int[] unsortiert = readNumbersFromFile("data_20");
int[] sortiert = selectionsort(unsortiert);
for (int i = 0; i < sortiert.length; i++) {
System.out.print(sortiert[i] + ", ");
}
new Application();
}
}
Zuletzt bearbeitet: