Hallo,
ich habe mich hier aufgrund folgenden Problems angemeldet. Ich habe eine Programm erstellt, welches dem Nutzer die Möglichkeit gibt, über den Aufruf einer Methode ein Array zu erstellen. Anschließend soll der Nutzer die Wahl haben, ob durch den Aufruf einer weiteren Methode entweder untersucht wird, ob das eingegebene Array sortiert ist, oder der Index des Maximums ausgegeben wird. Hierfür soll mit einer if-Abfrage überprüft werden, ob das eingegebene Wort mit dem entsprechenden String übereinstimmt. Hierbei kommt es jedoch zu einer Fehlermeldung.
Folgende Fehlermeldung wird angezeigt.
Danke im Voraus für Eure Hilfe!
ich habe mich hier aufgrund folgenden Problems angemeldet. Ich habe eine Programm erstellt, welches dem Nutzer die Möglichkeit gibt, über den Aufruf einer Methode ein Array zu erstellen. Anschließend soll der Nutzer die Wahl haben, ob durch den Aufruf einer weiteren Methode entweder untersucht wird, ob das eingegebene Array sortiert ist, oder der Index des Maximums ausgegeben wird. Hierfür soll mit einer if-Abfrage überprüft werden, ob das eingegebene Wort mit dem entsprechenden String übereinstimmt. Hierbei kommt es jedoch zu einer Fehlermeldung.
Java:
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
int[] ar = arrayEinlesen();
Scanner scan = new Scanner(System.in);
System.out.println("Um zu überprüfen, ob das Array sortiert ist, geben Sie \"sortiert\" ein");
System.out.println("Um das Maximum zu bestimmen, geben Sie \"Maximum\" ein");
String auswahl = scan.nextLine();
if(auswahl.equals("sortiert"))
istsortiert(ar);
if(auswahl.equals("Maximum"))
maximum(ar);
scan.close();
}
public static boolean istsortiert(int[] array) {
boolean sortiert = true;
for (int i = 0; i < array.length - 1 && sortiert == true; i++) {
if (array[i] > array[i + 1])
sortiert = false;
}
if (sortiert == false) {
sortiert = true;
for (int i = 0; i < array.length - 1 && sortiert == true; i++) {
if (array[i] < array[i + 1])
sortiert = false;
}
}
return sortiert;
}
public static int maximum(int[] array) {
int max = array[0];
int index = 0;
for (int i = 0; i < array.length; i++) {
if (max < array[i])
max = array[i];
}
for (int i = 0; i < array.length; i++) {
if (max == array[i])
index = i;
}
return index;
}
public static int[] arrayEinlesen() {
System.out.println("Geben Sie die Arraylänge ein:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] array = new int[n];
System.out.println("Geben Sie die Zahlen des Arrays ein");
for (int i = 0; i < array.length; i++) {
array[i]=scan.nextInt();
}
scan.close();
return array;
}
}
Folgende Fehlermeldung wird angezeigt.
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at Array.main(Array.java:12)
Danke im Voraus für Eure Hilfe!