Interpreter-Fehler java.lang.NullPointerException

pille0815

Neues Mitglied
Hallo, probiere gerade mit Klassen herum, und denke der fehler liegt irgendwie an den verschachtelten Arrays ... ? (soll mit IPs dezimal und binär umgehen können)
Java:
public class Rechner
{
    // Attribute  eine IP-Nr   
    Ip ipnr;
    
    // Konstruktor
    public Rechner()
    {
    }

    // Dienste
    public void neuIp(int b0, int b1, int b2, int b3)
    {
        // eine IP wird eingegeben
        ipnr = new Ip(b0, b1, b2, b3);
    }
    public void rechnen()
    {
        ipnr.dnr.anzeige();
        ipnr.bnr.anzeige();
    }
}

Java:
public class Ip
{
    // Attribute - die IP dezimal und binär
    Deziip dnr;
    Binärip bnr;
    // Konstruktor
    public Ip(int b0, int b1, int b2, int b3)
    {
        // eingegebne IP dezimal als Array speichern
        dnr = new Deziip(b0, b1, b2, b3);
        // die eigebene gleich in binär umrechnen und als dezimale speichern
        bnr = new Binärip(dnr); 
    }
}
Java:
public class Deziip
{
    // Attribute - als int array 4x
    int[] dezip = new int[4];
    // Konstruktor
    public Deziip(int b0,int b1,int b2,int b3)
    {
        dezip[0]=b0; dezip[1]=b1; dezip[2]=b2 ; dezip[3]=b3;
    }

    public void anzeige()
    {
        for (int i =0; i<4; i++)
            System.out.print(dezip[i]);
        System.out.println(" ");    
    }
}
in der folgendenden Klasse gibts den Fehler :
Java:
public class Binärip
{
    // Attribute - die binäre als array 4x des Typs binärbyte
    BinärByte[] binip = new BinärByte[4];
    // Konstruktor
    public Binärip(Deziip by)
    { 
         binip[0].dezInBinByte(by.dezip[0]); // hier steigt es zur Laufzeit aus!:(
         binip[1].dezInBinByte(by.dezip[1]);
         binip[2].dezInBinByte(by.dezip[2]);
         binip[3].dezInBinByte(by.dezip[3]);
    }
    
    public void anzeige()
    {
        for (int i =0; i<4; i++)
            System.out.print(binip[i]);
        System.out.println(" ");    
            
    }
}
Java:
public class BinärByte
{
    // Attribute - 1 Byte als 8x boolean
    public boolean[] bbyte = new boolean[8];
    // Konstruktor
    public BinärByte()
    {

    }

    // Dienste
    public void dezInBinByte(int zahl)
    {
        int i = 0;
        int[] mem = new int[8];
        while (zahl!=0)
        {
          mem[i] = zahl % 2;
          i++;
          zahl = zahl / 2;
        }
        for (i=0; i<8; i++)
        {
            if (mem[7-i] == 1) {bbyte[i] = true;}
            if (mem[7-i] == 0) {bbyte[i] = false;}
        }    
    }
    
    public void anzeige()
    {   String zahl ="";
        for (int i = 7;i>=0;i--)
        {
            if (bbyte[i] == true) {zahl = "1"+zahl;}
            if (bbyte[i] == false){zahl = "0"+zahl;}
        }
        System.out.println(zahl);
    }
}
any ideas? danke!
 

pl4gu33

Top Contributor
Java:
      binip[0].dezInBinByte(by.dezip[0]); // hier steigt es zur Laufzeit aus!:(

du bist da gerade im Konstruktor des Objekts " public Binärip(Deziip by)" ... binip[0] hat noch keine Initalisierung und ist null
 
T

tröööt

Gast
mal ganz davon abgesehen das es bereits klassen und methoden für entsprechende anzeige gibt ... hat dein code einige fehler ..

1) keine datenkapselung
schon mal was davon gehört das man den scope grundsätzlich so klein wie möglich halten sollte und auf interne member einer anderen klasse nie direkt zugreift (weil man es dank private auch nicht kann) ?
les dich diesbezüglich mal ein

2) klasse Binärip
BinärByte ist KEIN primitiver datentyp wie int ... daher hast du zwar ein array der größe 4 ... aber überall steht nur NULL drin ... du müsstest wenn dann überhaupt die objekte erstmal erzeugen
Java:
for(int i=0; i<binip.length; i++)
{
binip[i]=new BinärByte();
}

3) was dann kommt verschweigt sich mir ... aber mal als tipp : shift-operator ... macht einem das leben einfacher ...

4) in Binärip.anzeige() callst du BinärByte.toString() ... und nicht BinärByte.anzeige() ... also entweder toString() überschreiben oder Binärip.anzeige() entsprechend ändern ...


mal davon abgesehen das es bereits fertige dinge gibt um zahlen in unterschiedlichen datenformaten darzustellen hast du wirklich gravierende fehler in deinem code ... mal von der logik (übrigens auch falsch) abgesehen beachtest du den call-stack nicht und denkst dir : ach wird schon passen ...
auch kennst du scheinbar den unterschied zwischen primtiv-Array und objekt-Array nicht ... sonst wüsstest du zumindest das man ein objekt-array noch initialisieren muss ...
auch kannst du mit exceptions nicht umgehen ... denn da du ne NPE bekommst hättest du auch logisch drauf kommen können


1) by.dezip[0] kann nicht NULL sein da primtiver datentyp int ...
2) by könnte null sein wenn bei dessen kontruktion was schief läuft
3) binip[0] könnte null sein

da man bei diesem code von ausgehen kann das im konstruktor von Deziip nichts schief läuft und daher kein NULL kommt bleibt nur noch 3) binip[0] ist NULL ... also fehler beheben : binip[0]=new BinärByte(); ... sowas ist grundlegendes logisches , analysieren von text sowie erfassen was dieser aussagt ... sowas sollte man in der grundschule im mathe-unterricht bei text-aufgaben lernen ...


wenn man solche einfache basics die nicht mal was mit programmieren selbst zu tun haben auf die reihe bekommt sollte man mit programmieren gar nicht erst anfangen ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 4
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
I Erste Schritte Ausführfehler: java.lang.NullPointerException Java Basics - Anfänger-Themen 3
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
V [Greenfoot] java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 10
J java.lang.NullPointerException Java Basics - Anfänger-Themen 18
K Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 6
K OOP java.lang.NullPointerException Java Basics - Anfänger-Themen 2
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
S Fehlermeldung: java.lang.NullPointerException Java Basics - Anfänger-Themen 10
A Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 16
K java.lang.NullPointerException in Array bei Arraylistübergabe Java Basics - Anfänger-Themen 7
G java.lang.NullPointerException Was tun? Java Basics - Anfänger-Themen 7
J java.lang.NullPointerException . Java Basics - Anfänger-Themen 5
G java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S java.lang.NullPointerException - Bitte helft mir! Java Basics - Anfänger-Themen 5
S java.lang.NullPointerException Fehler bei Umrechnung Java Basics - Anfänger-Themen 3
P java.lang.NullPointerException Java Basics - Anfänger-Themen 19
M java.lang.NullPointerException at . Java Basics - Anfänger-Themen 4
S java.lang.nullpointerexception bei arrayübergabe Java Basics - Anfänger-Themen 30
S java.lang.NullPointerException bei Bildern Java Basics - Anfänger-Themen 13
P java.lang.NullPointerException was ist das? Java Basics - Anfänger-Themen 7
G java.lang.NullPointerException beim objekt Java Basics - Anfänger-Themen 3
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
B java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
J Erste Schritte java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 4
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
T Compiler-Fehler java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 2
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
N jodaTime java.lang.IllegalArgumentException: Invalid format Java Basics - Anfänger-Themen 3
F Erste Schritte java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
R java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
C Hilfe!!! java.lang.ClassCastException Java Basics - Anfänger-Themen 1
O java.lang.IndexOutOfBoundsException JTable autoSort Java Basics - Anfänger-Themen 5
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
K Caused by: java.lang.NoClassDefFoundError: org/mindrot/jbcrypt/BCrypt Java Basics - Anfänger-Themen 0
OnDemand java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 9
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
H java.lang.IndexOutOfBoundsException bei verschachtelter ArrayList Java Basics - Anfänger-Themen 9
V java.lang.NoSuchMethodError Java Basics - Anfänger-Themen 2
J java.lang.math asin() Java Basics - Anfänger-Themen 18
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
K Error: java.lang.NoSuchMethodException Java Basics - Anfänger-Themen 2
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
G java.lang.ClassNotFoundException Java Basics - Anfänger-Themen 4
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
X Interpreter-Fehler "java.lang.NullPionterException: null" bei BlueJ Java Basics - Anfänger-Themen 10
P java.lang.ClassCastException Java Basics - Anfänger-Themen 2
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
A Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown Java Basics - Anfänger-Themen 7
K Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 Java Basics - Anfänger-Themen 4
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben