Output Fehler.

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo ich versuche aus dem Übungen vom Internet ein Beispiel für Eingabe über Tastatur

Code:
        InputStreamReader reader = new InputStreamReader(System.in); 
    BufferedReader input = new BufferedReader(reader); 
    System.out.print("Gib ein Wort ein: "); 
    String text = input.readLine(); 
    System.out.println("Die eingegebene Wort lautet: " + text);

Meine Eingaben sind null??

Ich weis nicht warum.

kann mir jemand helfen?

danke
 
tja, das sieht übel aus, bei mir funktionierts, was soll man da groß ändern?
Code:
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class TestClass {

	public static void main(String[] args) throws Exception {
		InputStreamReader reader = new InputStreamReader(System.in);
		BufferedReader input = new BufferedReader(reader);
		System.out.print("Gib ein Wort ein: ");
		String text = input.readLine();
		System.out.println("Die eingegebene Wort lautet: " + text);
	}
}
bei mir erscheint

Gib ein Wort ein: huhu
Die eingegebene Wort lautet: huhu

bei dir

Gib ein Wort ein: huhu
Die eingegebene Wort lautet: null

oder was? führst du das in einer Windows-Konsole aus oder wo?
 
jetzts gehts wieder, ich habe unnötige Pakete gelöst.

ich wollte ein 5 eingeben,


Code:
        InputStreamReader reader = new InputStreamReader(System.in);
        BufferedReader input = new BufferedReader(reader);
        System.out.print("Gib ein Wort ein: ");
        //String text = input.readLine();
      
        String a = input.readLine();
        int b = Integer.parseInt( a );

        System.out.println( b);

ich bekomme einen fehler

Code:
Exception in thread "main" java.lang.NumberFormatException: null
        at java.lang.Integer.parseInt(Integer.java:415)
        at java.lang.Integer.parseInt(Integer.java:497)
 
gib mal lieber a direkt aus..
aber dürfte wohl auch null sein, da kann man nix groß zu sagen,

läuft mein Programm so wie es ist bei dir ja oder nein?,


bekommst du die Ausgabe

Gib ein Wort ein: huhu
Die eingegebene Wort lautet: null

ja oder nein? bei nein: welche?
 
ya es läuft, ich habe nur

import java.io.*;

eingeben.


wie mache ich , wenn ich eine Rechnung machen will
z.b

Geben Sie eine Zahl :

a

Geben Sie noch eine Zahl :
b

Die Summer beträgt a+b
 
hey hey, ich bin kein Programmierkurs, ich helfe nur bei konkreten Problemen 😉

aber vielleicht erzählst dir ja wer anders
 
Wenn ich mal groß bin, will ich "Programmierkurs" werden :wink:

Code:
        System.out.print("Zahl 1: ");     
        String a = input.readLine(); 
        int b = Integer.parseInt( a );

        System.out.print("\nZahl 2: ");     
        a = input.readLine(); 
        int c = Integer.parseInt( a );

        System.out.print("\nErgebnis: " + (b + c));
 
Ich bekomme folgende Fehler, nach der eingabe von einem Zahl

Code:
Exception in thread "main" java.lang.NumberFormatException: null
 
Code:
init:
deps-jar:
Compiling 1 source file to C:\Dokumente und Einstellungen\Administrator\Count\build\classes
compile:
run:

Exception in thread "main" java.lang.NumberFormatException: null
        at java.lang.Integer.parseInt(Integer.java:415)
        at java.lang.Integer.parseInt(Integer.java:497)
        at count.Main.main(Main.java:40)
Zahl 2: 
Java Result: 1
BUILD SUCCESSFUL (total time: 1 minute 15 seconds)
 
Poste ----> deinen kompletten Code <----- und die komplette Fehlermeldung
 
sorry habe nicht verstanden


Code:
/*
 * Main.java
 *
 * Created on 1. Juli 2007, 20:09
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package count;

import java.io.*;

/**
 *
 * @author Administrator
 */
public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws Exception  {
        
        /*InputStreamReader reader = new InputStreamReader(System.in);
        BufferedReader input = new BufferedReader(reader);
        System.out.print("Gib ein Wort ein: ");
         System.out.print("Zahl 1: ");
        String a = input.readLine();
         
         */
       BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
      int e;
      int f;
        
        System.out.print("\nZahl 2: ");
          int b = Integer.parseInt(e);
        System.out.print("\nZahl 2: ");
         int c = Integer.parseInt(in.readLine());
        
        System.out.print("\nErgebnis: " + (b + c));
        
    }
    
}
 
int e;
System.out.print("\nZahl 2: ");
int b = Integer.parseInt(e);

wo wird da was eingelesen?
sollte gar nicht erste kompilieren (mein Eclipse beschwert sich jedenfalls),
Integer.parseInt(int) geht doch nicht und e ist nicht initialisiert
 
Wie stellst du dir denn das auch vor? 🙂

Du legst zwar Variablen mit dem Namen e und f an, initialisiert sie aber nicht. Damit haben sie standardmäßig den Wert "NULL".

Damit das ganze erstmal funktioniert, wäre soetwas möglich:
Code:
int e = 2;
      int f = 4 //oder jede andere Zahl;

Ansonsten:

Code:
int e = Integer.parseInt (in.readline());

Jetzt solltest du dich fragen, was passiert, wenn die eingelesene Zeile gar keine Zahl ist. Genau: ein Fehler fliegt. Da solltest du dann ansetzen, z.B. den Fehler mit einem try/catch-Block abfangen. Ein Blick in Java ist auch eine Insel schadet sicher nicht ;-)
 
ich habe die Variabeln auch initialiert, trozdem bekomme ich diese Fehler.

Ein Wort kann ich ausgeben, aber beim Zahl bekomme ich Fehler, ich auch überall gelesen, kein Erfolg

Code:
    public static void main(String[] args) throws IOException {
        
        
        String zahl = null;
        int liste = 5;
        BufferedReader stdin = new BufferedReader(
                new InputStreamReader( System.in ) );
        
        System.out.println("Geben Sie  ein:");
        
            zahl = stdin.readLine();
            liste = Integer.parseInt( zahl );
        
        System.out.println( liste);
        
    }
 
Ich gebe ein Zahl 6 aus und er gibt mir eine Fehlermeldung

Code:
Compiling 1 source file to C:\Dokumente und Einstellungen\Administrator\Count\build\classes 
compile: 
run: 

Exception in thread "main" java.lang.NumberFormatException: null 
        at java.lang.Integer.parseInt(Integer.java:415) 
        at java.lang.Integer.parseInt(Integer.java:497) 
        at count.Main.main(Main.java:40) 
Zahl 2: 
Java Result: 1 
BUILD SUCCESSFUL (total time: 1 minute 15 seconds)

Meine Frage oder mein Problem ist zu verstehen,warum wenn man einen String eingibt , bekomme ich keinen Fehler.

Wenn ich aber zwei Zahlen von Tatstaur geben möchte , bekomme ich Number FormatException Fehler.

ich habe nichts vergessen, Jeder Zeile wird gelesen.
 
soweit waren wir auf der Häfte der ersten Seite auch schon 😉
ich zitiere mich einfach mal komplett, hat damals auch geholfen:

gib mal lieber a direkt aus..
aber dürfte wohl auch null sein, da kann man nix groß zu sagen,

läuft mein Programm so wie es ist bei dir ja oder nein?,


bekommst du die Ausgabe

Gib ein Wort ein: huhu
Die eingegebene Wort lautet: null

ja oder nein? bei nein: welche?

dann bis morgen abend und wieder das gleiche 😉

----

abgesehen von dem Scherz: überleg mal was du da machst,
warum es mal klappt und mal nicht, da musst du bisschen System reinkriegen,
wenn mein Programm bei dir einmal geklappt hat, dann sollte es immer klappen,
behalte die Ausgabe als String bei: 'Ausgabe: 6'

DANACH kannst du den String '"6" dann noch in eine Zahl umwandeln oder sonst was damit machen,
wenn du alles bisher erreichte löschst und wieder mit NullPointerException anfängst, dann ist das nicht produktiv..
 
ich habe sehr gründlich und genau schritt für schritt alles ausprobiert.

Meine konkrete Frage ist, muss ich in Netbean nichts einstellen?????
 
du musst nix einstellen,

kehre noch mal zurück zu meinem Programm,
wenn du da 6 eingibts wird 6 ausgegegen,
nun machst du Integer.parseInt() mit diesem String (nicht mit einem neuen oder sonst was komisches)
siehe da, es wird zu keine Exception kommen, jedenfalls nicht NullointerException,
denn der String kann ja gar nicht null sein wenn auf dem Bildschirm 6 ausgegeben wird,

siehst du wie simpel das ist?
und wie immer: Code posten wenns nicht geht
 
Falls du keine NullPointerException sondern eine NumberFormatException bekommst, obwohl alles passen sollte, mach mal
Code:
liste = Integer.parseInt( zahl.trim() );
Wenn Zeilenumbrüche dabei sind (beim Einlesen), kann es nämlich auch Probleme geben.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben