Tastatureingabe funktioniert nicht

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,
ich habe versucht (!) ein Programm zu schreiben, dass Zahlen sortiert. Mit einem Array das ich im Programm selber festgelegt habe hat das auch funktioniert.

Jetzt wollte ich das ganze mit einer Tastatureingabe machen, und zwar möchte ich erst abfragen, wie viele Elemente das Array haben soll und dann mit einer for-Schleife soviele Zahlen einlesen. Ich habe früher nur ein bisschen Pascal programmiert und hab deshalb etwas ähnliches wie Readln gesucht.. naja mein versuch habe ich hier mal, vllt kann mir ja jemand schreiben wies richtig lauten muss:




import java.io.*;
public class sortieren2 {

public static void main(String[] args) {


// Suchfeld durch Tastatureingabe initialisieren
System.out.println("Bitte geben sie ein wie viele Zahlen sortiert werden sollen: ");
int laenge = readInteger();

int[] suchfeld = new int[laenge];
for (int i=0; i< laenge; i++) {
suchfeld = readInteger();
}
...
 

aquanox

Mitglied
Tja, dazu kann ich nur sagen, dass sich da SUN nicht so viel Mühe gegeben hat. Die Ausgabe geht mit einer Methode, allerdings klappt das gleiche mit der Eingabe nicht.

Um eine Zahl einzulesen muss da schon ein wenig mehr Arbeit reingesteckt werden. Kopier dir einfach die Methode in den Code und du kannst sie benutzen:

Code:
  public int readInt() throws IOException
  {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
    return Integer.parseInt(in.readLine());
  }

Eine IOException wird ausgelöst falls beim Einlesen ein Fehler aufgetreten ist. Außerdem fehlt noch die Abfrage auf NumberFormatException falls der Benutzer keine Zahl eingibt.
 
G

Guest

Gast
Hab das jetzt gemacht aber bekomms trotzdem nicht hin :-/
hab bestimmt die Methode falsch eingebaut oder so, aber ist halt wirklich ne Umstellung erstmal, viielleicht kann ja nochmal jemand gucken:

Code:
import java.io.*;
public class sortieren2 {

        public int readInt() throws IOException {
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
            return Integer.parseInt(in.readLine());
        }


    public static void main(String[] args) {

        // Suchfeld durch Tastatureingabe initialisieren
        System.out.println("Bitte geben sie ein wie viele Zahlen sortiert werden sollen: ");
        int laenge = readInt();

        int[] suchfeld = new int[laenge];
        for (int i=0; i< laenge; i++) {
            suchfeld[i] = readInt();
        }
 

aquanox

Mitglied
Wie geschrieben, die Methode readInt wirft einen Fehler (IOException) falls es ein Problem beim Einlesen gibt.

Also schnelle Lösung kannst du erstmal deine main Methode anpassen:
public static void main(String[] args) throws Exception {

Das ist natürlich nicht die beste Lösung. Das sicherste ist beim Einlesen der Zahl mit try...catch zu arbeiten um Fehler abzufangen. Was soll z.B. passieren falls der Benutzer Buchstaben eingibt? Dann tritt der Fehler NumberFormatException auf, der noch abgefangen werden muss. Ansonsten beendet sich das Programm einfach.
 

Anselmus

Bekanntes Mitglied
wenn du readInt() so benutzen willst mußt du die methode, wie main, static machen...

btw: klassennamen werden groß geschrieben :wink:
 

Anselmus

Bekanntes Mitglied
und du mußt, jedesmal, wenn du die intRead methode benutzt, das in nen try bauen oder main throws Exception machen, aber mach lieber try catch
 

Sky

Top Contributor
aquanox hat gesagt.:
Tja, dazu kann ich nur sagen, dass sich da SUN nicht so viel Mühe gegeben hat. Die Ausgabe geht mit einer Methode, allerdings klappt das gleiche mit der Eingabe nicht.
Das was Du sagst ist nicht ganz vollständig. Wenn Du mit deiner Aussage meinst, dass man per
Code:
System.out.print
ganz einfach eine Ausgabe auf die Konsole zaubert so muss ich Dich belehren, dass man per
Code:
System.in.read
ganz einfach wieder was einlesen kann.

Falls Du was anderes meintest, dann bitte erkläre mir deine Aussage.
 

MPW

Top Contributor
Wenn einem das zu kompliziert ist, benutzt man einfach JOptionPane;-)
Code:
import javax.swing.JOptionPane;

...
int i;
boolean b = false;
do {
    String z = JOptionPane.showInputDialog("Hack mal' ne Zahl rein");
    try{
        i = parseInt(z);
        b = true;
    } catch (NumberFormatException e) {
    }
} while (b == false);
 

aquanox

Mitglied
@stephanschoeffel
Richtig :D, da hier kein Objekt erstellt wird muss die Methode static sein damit das main darauf zugreifen kann. Im Prinzip wär es aber auch möglich eine extra Toolsklasse zu erstellen, die diese Methode bereitstellt (wieder static).

@sky80
Naja, es geht eher um das einfache einlesen. Das read gibt dir ein byte zurück, was aber nicht unbedingt gewünscht ist. Mit System.out.println kann man einfach einen String ausgeben, allerdings gibts für das System.in keine Methode um einfach einen String zu lesen, was man ja eigentlich eher braucht als byte.

@MPW
JOptionPane ist zwar eine nette Möglichkeit für grafische Anwendungen, allerdings sehe ich bei Textanwendungen von ab. Für das OptionPane müssen erstmal alle Swing Komponenten und Klassen geladen werden. Zu viel Arbeit um nur eine Eingabe von der Tastatur zu bekommen. Außerdem fällt das flach, wenn man z.B. ein Programm schreibt was auf einem entfernten Rechner über SSH verwaltet werden soll.

@Beni
Der Scanner ist neu, sieht nett aus aber ist keine reine Klasse zum Lesen vom stdin. Der Scanner sucht eher nach den Angaben so wie ich das verstanden habe. Dann lieber doch eine eigene Toolklasse.
 

NeverRest

Neues Mitglied
aquanox hat gesagt.:
Naja, es geht eher um das einfache einlesen. Das read gibt dir ein byte zurück, was aber nicht unbedingt gewünscht ist. Mit System.out.println kann man einfach einen String ausgeben, allerdings gibts für das System.in keine Methode um einfach einen String zu lesen, was man ja eigentlich eher braucht als byte.

Wie liest man am besten Strings ein?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Tastatureingabe auslesen und in Konsole ausgeben Java Basics - Anfänger-Themen 6
Azazel Tastatureingabe gelingt mir nicht Java Basics - Anfänger-Themen 3
B Tastatureingabe erkennen Java Basics - Anfänger-Themen 8
Q Tastatureingabe direkt nach Eingabe (ohne zwischenzeitliches "Return" o.Ä ) weiterverwenden Java Basics - Anfänger-Themen 1
D String-Array aus Tastatureingabe Java Basics - Anfänger-Themen 4
K Tastatureingabe in KarelJ Java Basics - Anfänger-Themen 2
W Tastatureingabe abfangen Java Basics - Anfänger-Themen 15
T Unconvertible types für Tastatureingabe? Java Basics - Anfänger-Themen 20
F Ausführbare JAR-Datei: Tastatureingabe in Eingabeaufforderung Java Basics - Anfänger-Themen 6
V Wie kann ich mit Java eine Tastatureingabe simmulieren ? Java Basics - Anfänger-Themen 26
F Einfache Tastatureingabe Java Basics - Anfänger-Themen 2
T zweidimensionale Arrays+ Tastatureingabe Java Basics - Anfänger-Themen 6
B unlogisches Problem mit Tastatureingabe und If-Else Java Basics - Anfänger-Themen 4
V Tastatureingabe einlesen und zuweisen Java Basics - Anfänger-Themen 2
lan2711 Tastatureingabe lesen Java Basics - Anfänger-Themen 2
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
T % funktioniert nicht Java Basics - Anfänger-Themen 2
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
D GPIO Nutzung mit Pi4J Library auf Raspberry funktioniert nicht Java Basics - Anfänger-Themen 3
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
I Array funktioniert nicht. Java Basics - Anfänger-Themen 2
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
V_Fynn03 Erste Schritte BubbleSort Quelltext funktioniert noch nicht Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
T Redirect funktioniert nicht Java Basics - Anfänger-Themen 3
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Zufallszahl funktioniert nicht Java Basics - Anfänger-Themen 27
D Klassen add Methode funktioniert nicht. Java Basics - Anfänger-Themen 31
J ImagaIO funktioniert nicht unter Ubuntu Java Basics - Anfänger-Themen 23
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
J Einlesen von Datei funktioniert nicht Java Basics - Anfänger-Themen 8
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
P Zeichenkette Zeichen ausschlißen funktioniert nicht richtig Java Basics - Anfänger-Themen 9
F Primzahlsuche Schleife funktioniert nicht, HILFE! Java Basics - Anfänger-Themen 8
M Methoden Arrays.deepequals() funktioniert nicht Java Basics - Anfänger-Themen 2
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
F Input/Output die eine txt-Datei funktioniert die andere nicht Java Basics - Anfänger-Themen 8
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
P Upload Button funktioniert nicht Java Basics - Anfänger-Themen 13
S Dijkstra Algorithmus funktioniert nicht Java Basics - Anfänger-Themen 4
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben