Java: EIngabe per Scanner wirft Exception

Gast #5959753
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.
Gast
Habe inzwischen herausgefunden, dass die Exception ausbleibt, wenn ich 
auf "sc.close();" verzichte. Aber wieso? Der Scanner sc wird doch mit 
jedem Aufruf von inp() sowieso neu erstellt?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.