Hallo,
ich habe im folgendem Code laut debugger
Ich suche und suche, aber ich finde den Fehler einfach nicht.
Hier der Code
ich habe im folgendem Code laut debugger
Code:
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
Ich suche und suche, aber ich finde den Fehler einfach nicht.
Hier der Code
Java:
import java.util.Scanner;
public class rechenuebungen
{
public static void main(String[] args)
{
int ber[] = gener();
if(ber[0] == ber[1])
System.out.println("Super, das war richtig!");
else
System.out.printf("Das war leider nicht richtig. Lösung: %d", ber[0]);
}
public static int io()
{
Scanner scan = new Scanner(System.in);
System.out.println("Bitte wählen Sie eine Option: ");
System.out.println("1. Addieren\n2. Subtrahieren\n3. Multiplizieren\n4. Dividieren\n");
int auswahl = scan.nextInt();
scan.close();
return auswahl;
}
public static int[] gener()
{
int aw = io();
Scanner scan = new Scanner(System.in);
int a = (int) (1 + Math.random() *100);
int b = (int) (1 + Math.random() *100);
int c[] = new int[2];
switch(aw)
{
case 1: c[0] = a + b; System.out.printf("Bitte berechne %d + %d", a, b);
c[1] = scan.nextInt();break;
case 2: c[0] = a - b; System.out.printf("Bitte berechne %d - %d", a, b);
c[1] = scan.nextInt();break;
case 3: c[0] = a * b; System.out.printf("Bitte berechne %d * %d", a, b);
c[1] = scan.nextInt();break;
case 4: c[0] = a / b; System.out.printf("Bitte berechne %d / %d", a, b);
c[1] = scan.nextInt();break;
}
scan.close();
return c;
}