Wie krieg ich diese Warnung in Java weg?

4 Antworten

Bekomme immer wieder Fehlermeldungen, egal ob ich nen neuen Scanner anlege oder nicht

Du solltest vorher einen Scanner deklarieren und initialisieren und ihn mit

myScanner.close();

am Ende wieder schließen.

final Scanner scan = new Scanner(System.in);
final String input = scan.nextLine();

handleInput(input);

scan.close();

Normalerweise schließt man den Scanner irgendwann auch wieder ( start.close() )

Fritz234 
Fragesteller
 14.06.2015, 11:57

Bekomme dann die Warnung 

The method close() is undefined for the type String

0
procoder42  14.06.2015, 12:18
@Fritz234

Uuaaarrrgghh stimmt, du legst keinen Scanner an sich an. Leg ein Scanner Objekt an und schließ dann den Scanner wieder 

0
Fritz234 
Fragesteller
 14.06.2015, 12:19
@procoder42

Dann gibt er mit diesen Fehler aus :/

Exception in thread "main" java.util.NoSuchElementException: No line foundat java.util.Scanner.nextLine(Unknown Source)at schere.stein.papier.SchereSteinPapier.main(SchereSteinPapier.java:43)

0
procoder42  14.06.2015, 12:24
@Fritz234

Kannst du den Code vielleicht mal bei Pastebin oder so hochladen, das ist übersichtlicher. Mach es mal so, wie oben beschrieben und Importier Java.util, das macht das ganze etwas übersichtlicher.

0
procoder42  14.06.2015, 12:33
@Fritz234

Das java.util. kannst du beim erzeugen des Scanners dann weg lassen 

0
Fritz234 
Fragesteller
 14.06.2015, 12:36
@procoder42

Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at schere.stein.papier.SchereSteinPapier.main(SchereSteinPapier.java:43)

0

Probiers mal so:

Statt

String start = new java.util.Scanner(System.in).nextLine();

Machst du:

Scanner scan = new java.util.Scanner (System.in);

String start= scan.nextLine ();

scan.close();

Fritz234 
Fragesteller
 14.06.2015, 12:09

Dann bekomme ich einen Fehler

Exception in thread "main" java.util.NoSuchElementException: No line foundat java.util.Scanner.nextLine(Unknown Source)at schere.stein.papier.SchereSteinPapier.main(SchereSteinPapier.java:43)

0
procoder42  14.06.2015, 12:20
@Fritz234

Irgendwie gewöhnst du dir grade einen schlechten Programmierstil an. Leg a) ein Scanner Objekt an, welches du benutzt und b) importier mal das java.util Package

0
fansens  14.06.2015, 17:22
@fansens

Habe den Fehler gefunden:

Scanner scan = new java.util.Scanner (System.in);

String start= scan.nextLine ();

scan.close();

Hier machst du statt nextLine() einfach nur next ()

0