Java: EIngabe per Scanner wirft Exception

Gast #5959753
Lesenswert?

Mir ist nicht ganz klar, warum der untenstehende Code nur bis zur ersten 
Eingabe läuft und dann eine Exception wirft:
1
Exception in thread "main" java.util.NoSuchElementException
2
  at java.util.Scanner.throwFor(Scanner.java:862)
3
  at java.util.Scanner.next(Scanner.java:1371)
4
  at Input.inp(Input.java:13)
5
  at Input.main(Input.java:26)

Hier der Programmcode eines Übungsbeispieles, bei dem eine 
Konsolen-Eingabe per Scanner-Klasse in eine Methode verpackt wurde:
1
import java.util.Scanner;
2

3

4
public class Input
5
{
6
  public static void prn(String txt){
7
    System.out.println(txt);}
8
  
9
  public static String inp(String hinw){
10
    System.out.print(hinw);
11
    Scanner sc = new Scanner(System.in); //öffnet das File "System.in";
12
    String s = sc.next(); //liest Alles ein, bis Return
13
    sc.close(); //schließt Scanner
14
    return s;
15
  }
16
  
17
  public static void main(String[] args){
18
    
19
    String erg;
20
    
21
    erg=inp("Vorname: ");
22
    prn(erg);
23
    
24
    erg=inp("Nachname: "); //<--- hier kracht es
25
    prn(erg);      
26
  }
27
}

Danke sehr für Hinweise.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren