Scanner: Ausgabe erst nach Abbruch

Hydro

Mitglied
Hallo, ich habe ein Problem mit dem Java Scanner. Ich möchte mehrere Integer Zahlen in die Konsole eingeben, diese dann in einem Iteger-Array speichern und dann das Array ausgeben.

Als Eingabe nehme ich z.B. 4 verschiedene Zahlen 12 4 5 6 in einer zeile. Wenn ich danach Enter drücke passiert nichts.
Erst wenn ich mehrmals Enter gedrückt habe und dann das Programm per Strg-C abbreche erscheint die Ausgabe des Arrays.

Java:
import java.io.*;
import java.util.Scanner;
public class intTst{
	
	
	
	public void tz(){

             Scanner sc= new Scanner(System.in);
			  
             System.out.println("Bitte eingabe machen");
                         int[] r = new int[20];
			 int g=0;
			 
			 while(sc.hasNextInt()){
				
				r[g]=sc.nextInt();
				g++;
				
			 }
			 
			 sc.close();
			 
			 System.out.println(r[0]);
           }

        public static void main(String[] args){
		
		intTst ts=new intTst();
		ts.tz();
		
	
	}

}
 

pl4gu33

Top Contributor
so funktioniert es, du musst die Ausgabe in die Schleife packen.... du hast aber bei deinem Programm noch ein Problem, wenn du mehr Zahlen eingibst als dein Array groß is :))


Java:
import java.io.*;
import java.util.Scanner;
public class intTst{
	
	public void tz(){

             Scanner sc= new Scanner(System.in);
			  
             System.out.println("Bitte eingabe machen");
                         int[] r = new int[20];
			 int g=0;
			 
			 while(sc.hasNextInt()){
				
				r[g]=sc.nextInt();
                                 System.out.println(r[g]);
				g++;
                         
				
			 }
			 
			 sc.close();
			 
			 
           }

      }
 
Zuletzt bearbeitet:

Hydro

Mitglied
Danke.
Aber der Scanner fordert mich jetzt immer wieder auf etwas einzugeben.
Wie gehts das, dass man etwas einmal eingibt und dann fordert der Scanner zu nichts mehr auf?

Sollte sc.hasNextInt() nicht irgendwann false werden, z.B. wenn ich "12 4 6 7" eingebe?
Nach der 7 kommt ja kein Integer mehr.
 

pl4gu33

Top Contributor
[STRIKE]sc.hasNextInt() ... kann nicht "false" werden sondern gibt halt nen Int zurück wenn einer eingeben wurde.[/STRIKE] Du kannst das Programm unterbrechen, in dem du einfach nen Buchstaben eingibst z.b.

das Programm kann ja nicht wissen, ob noch was kommt oder nicht.

aber trotzdem löst das auch nicht das Problem, dass dein Array überlaufen kann :)

[EDIT]
sry der Satz war völliger Quatsch :D .... ich hab das gerade auf sc.nextInt() bezogen :D

[/EDIT]
 
Zuletzt bearbeitet:

Hydro

Mitglied
Ok das mit dem Überlauf hätt ich jetzt schon mal geregelt:

Java:
import java.io.*;
import java.util.Scanner;
public class intTst{
    
    public void tz(){
 
             Scanner sc= new Scanner(System.in);
              
             System.out.println("Bitte eingabe machen");
                         int[] r = new int[20];
             int g=0;
             
             while(sc.hasNextInt()&&g<20){
                
                r[g]=sc.nextInt();
                                 System.out.println(r[g]);
                g++;
                         
                
             }
             
             sc.close();
             
             
           }
 
      }

Aber wie kann man denn ohne einen Buchstaben einzugeben den Scanner abbrechen lassen?
Gibt es dafür eine bestimmte Methode?
 
G

Gast2

Gast
hasNextInt() blockiert solange bis eine Eingabe im Scanner ist. Wenn die Eingabe dann eine Zahl ist wird true zurückgegeben, sonst false. Gibst du also nur Zahlen ein kommst du nie aus der Schleife raus.

Du brauchst irgend ein Zeichen dass das Ende deiner Eingabe repräsentiert. Entweder ne Zahl (z.b. 0), oder nen linebreak. Dann würd ich aber direkt alles per nextLine() einlesen und nach leerzeichen splitten.
 

Hydro

Mitglied
Ich danke euch beiden.

Jetzt funktioniert es und das mit dem Splitten war eine gute Idee, per Google hab ich dann gleich etwas hier im Forum gefunden.
So hier mal die funktionierende Methode:

Java:
import java.io.*;
import java.util.Scanner;
public class intTst{
    
    public void tz(){
 
             Scanner sc= new Scanner(System.in);
              
             System.out.println("Bitte eingabe machen");
             String s="";
			 
			s=sc.nextLine();
			String[] splittedInput = s.split("\\ ");
			int[] values = new int[splittedInput.length];
			
			for (int i = 0; i < splittedInput.length; i++) {
				values[i] = Integer.parseInt(splittedInput[i]);
			}
            
			System.out.println(values[1]);
            sc.close();
			 
             }
             
             
             
           }
 
      }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
J Variablen Scanner als Klassenvariable Allgemeine Java-Themen 5
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
Bluedaishi Twain Scanner im Netzwerk Allgemeine Java-Themen 10
B Scanner erkennt keinen Text in Textdatei, obwohl welcher drinsteht Allgemeine Java-Themen 10
J Scanner oder BufferReader Allgemeine Java-Themen 2
1 Java Scanner Allgemeine Java-Themen 2
W Was genau sind IOTools? Kann ich stattdessen nicht die Scanner Klasse verwenden? Allgemeine Java-Themen 3
A Scanner Variable Klassenimtern deklarieren Allgemeine Java-Themen 12
T Datentypen Scanner Allgemeine Java-Themen 4
A Erste Schritte If Abfragen + Scanner Allgemeine Java-Themen 7
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
P Input/Output Datei einlesen per Scanner(f) - mit Cron gehts nicht Allgemeine Java-Themen 1
S Erste Schritte Scanner in Methode einbauen Allgemeine Java-Themen 4
B QR Scanner WebCam Allgemeine Java-Themen 2
P Scanner als Inputstream für Java Prozess Allgemeine Java-Themen 4
S Bekomme mit Scanner und URL keine Html-Seite ausgelesen Allgemeine Java-Themen 3
J NetBeans Frage bezüglich der Scanner-Klasse Allgemeine Java-Themen 6
H Scanner soll einen Inputredirect einlesen, liest aber nicht jedes Wort ein. Allgemeine Java-Themen 3
Ark Locale, Formatter und Scanner: Bug bei Gleitkommazahlen? Allgemeine Java-Themen 2
X Scanner hört nach der 25. Zeile auf Allgemeine Java-Themen 6
A Split, Scanner, StringTokenizer oder PatternMatching für flexibles Dateieinlesen? Allgemeine Java-Themen 2
D java.util.InputMismatchException im Scanner -wieso? Allgemeine Java-Themen 5
K Scanner - große Textfile, nur 0 ab betim. Wert Allgemeine Java-Themen 4
D Scanner leer aber bufferedReader nicht?! Allgemeine Java-Themen 2
N Scanner läuft nicht durch Allgemeine Java-Themen 2
R Scanner mit Java Allgemeine Java-Themen 2
J Parser / Scanner / Tokenizer gesucht Allgemeine Java-Themen 3
J Problem mit Scanner-Stream Allgemeine Java-Themen 2
J Mit Scanner-Klasse eine Datei zeilenweise einlesen und nur bestimmte Zeichen abfragen Allgemeine Java-Themen 11
M Scanner-Methode: Mehrere Eingaben mit Exception behandeln Allgemeine Java-Themen 10
R Barcode Scanner mit JavaPos ansprechen Allgemeine Java-Themen 1
M Barcode-Scanner unterscheidung zur Tastertur Allgemeine Java-Themen 7
H Problem mit Scanner Klasse Allgemeine Java-Themen 7
E Wie Zeichen eingeben mit Klasse Scanner? Allgemeine Java-Themen 5
D Problem mit java.util.scanner: Falsche Ergebnisse Allgemeine Java-Themen 4
E Scanner Frage :) Allgemeine Java-Themen 8
A Unterschied Scanner und Matcher Allgemeine Java-Themen 5
S Problem mit Scanner Allgemeine Java-Themen 5
G Barcode (Strichcode)-Scanner Allgemeine Java-Themen 10
G Scanner.hasNext() beendet den Thread ohne Message Allgemeine Java-Themen 4
S Scanner Allgemeine Java-Themen 6
G Scanner-Generator zur Erkennung von Java Tokens Allgemeine Java-Themen 7
B Try/Catch in While-Schleife mit Scanner - Hilfe! Allgemeine Java-Themen 3
K Scanner.hasNext findet kein Ende Allgemeine Java-Themen 6
D ProcessBuilder und Scanner Probleme mit einigen Prozessen Allgemeine Java-Themen 2
S Die Methode close() der Klasse Scanner Allgemeine Java-Themen 3
G Scanner und Abbruchbedingung/Pattern Allgemeine Java-Themen 2
bernd java.util.Scanner erst ab Java 1.5? Allgemeine Java-Themen 4
kodela Gemittelte Ausgabe von Buchstaben Allgemeine Java-Themen 10
L Event Handling Ausgabe von Radioboxen und befüllen von Comboboxen Allgemeine Java-Themen 1
curranux Ausgabe als Textdatei schreiben. Allgemeine Java-Themen 2
Master3000 Komisches Zeichen als Ausgabe in der Konsole Allgemeine Java-Themen 20
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
R In der Ausgabe sollte anstelle des obersten Sterns ein "+" stehen nur scheitere ich bei der Implementierung Allgemeine Java-Themen 9
L Ausgabe von in Echtzeit ausgeführten Code Allgemeine Java-Themen 9
B System.out Ausgabe auf jtextarea Fehlersuche Allgemeine Java-Themen 8
J Ausgabe von Links nach Rechts ausgeben? Allgemeine Java-Themen 2
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
B Game of life Ein und Ausgabe Configurations Datei Allgemeine Java-Themen 17
Exdroid BlueJ Wie bekomme ich die Ausgabe in eine TXT Datei? Allgemeine Java-Themen 2
M Input/Output CMD Ausgabe als ButtonEvent Allgemeine Java-Themen 5
Tausendsassa Input/Output Problem mit der gleichzeitigen Ausgabe zweier Threads Allgemeine Java-Themen 8
S 2-spaltige Ausgabe als Tabelle ausgeben Allgemeine Java-Themen 12
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
B JFrame Text Ausgabe Allgemeine Java-Themen 7
D Variablen Ausgabe bzw. einlese Fehler Allgemeine Java-Themen 7
M Eclipse Keine Ausgabe mehr bei Fehlern Allgemeine Java-Themen 3
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
J Ausgabe nach Excel Allgemeine Java-Themen 1
balwan Unverständlichkeit einer Ausgabe Allgemeine Java-Themen 4
K Input/Output Ausgabe in Textdatei Allgemeine Java-Themen 7
B Barcode4j Ausgabe Formatieren Allgemeine Java-Themen 3
S Speichern/Laden/Hinzufügen/Löschen der Array-Wörter; unerwartete Ausgabe Allgemeine Java-Themen 6
K Methoden Ausgabe erfolgt nicht Allgemeine Java-Themen 6
T Ausgabe falsch! Allgemeine Java-Themen 5
W Input/Output Ausgabe eines Statements Allgemeine Java-Themen 5
P Falsche Ausgabe Allgemeine Java-Themen 5
nutellastulle Zugriff, Übergabe, Bearbeitung und Ausgabe von Jlist Allgemeine Java-Themen 6
D Ausgabe von C# Konsolenanwendung lesen Allgemeine Java-Themen 5
O Input/Output CMD-Ausgabe abfangen und in Datei speichern Allgemeine Java-Themen 8
P Pdf ausgabe Allgemeine Java-Themen 3
schlingel Process - Ausgabe leer Allgemeine Java-Themen 5
C Ausgabe unklar Allgemeine Java-Themen 2
J Applet Ausgabe beim Speichern ausblenden Allgemeine Java-Themen 4
Rudolf Java Ausgabe einer Texttabelle im Prompt Allgemeine Java-Themen 4
P Ausgabe der berechneten Fakultaet Allgemeine Java-Themen 12
M Ausgabe in Datei zum Ausdruck Allgemeine Java-Themen 2
E formartierte Ausgabe zur Laufzeit Allgemeine Java-Themen 2
D Bildschirm Flackert bei Ausgabe Allgemeine Java-Themen 4
K Windows Fehlerkanal -> Ausgabe in Datei Allgemeine Java-Themen 6
H Ausgabe von zwei Textfeldern Allgemeine Java-Themen 3
R log4j - Ausgabe der Logs Allgemeine Java-Themen 3
L in zufälligen Sekunden Ausgabe machen Allgemeine Java-Themen 2
W Ausgabe beschleunigen? Allgemeine Java-Themen 3
O Backslashes werden in der Ausgabe nicht übernommen Allgemeine Java-Themen 5
X Ausgabe auf JEditorPane Allgemeine Java-Themen 5
B Ausgabe auf der Konsole bei Nebenläufigkeit, Threads und Synchronisation Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben