• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst

D

DannyS

Mitglied
Guten Morgen liebe Java-Gemeinde,
ich bin ein Java Anfänger und habe ein Verständnisproblem bei folgenden Java-Code. Worin ist mein Denkfehler beim Erzeugen eines Arrays? Ich bekomme immer eine NullPointerException. Anbei der Code:
Java:
class Caesar{
    public Caesar(String stri) {
      this.stri = stri;
    }

    public String stri;
    char[] chr= new char[(stri.length())];
    char[] testchar=new char[stri.length()];
    public char caesar(){
        for (int i=0; i < stri.length(); i++){
            chr[i]=stri.charAt(i);
            testchar[i] = (char)(chr[i]+ 3);
            System.out.println(testchar[i]);
    }
    return 1;
    }

}

Vielen Dank im Voraus.

Gruß Danny
 
Zuletzt bearbeitet von einem Moderator:
D

DannyS

Mitglied
Vielen Dank, für die Unterstützung. Allerding habe ich es nicht ganz verstanden, was ich in den Konstruktor schieben soll. Wenn ich char[] chr= new char[(stri.length())] in den Konstruktor schiebe, kommt trotzdem die Exception.
So hat es geklappt:
Java:
class Caesar{
    public Caesar(String stri) {
        this.stri = stri;
        //char[] chr= new char[(stri.length())];

    }

    public String stri;
    //char[] chr= new char[(stri.length())];
    //char[] testchar=new char[stri.length()];


    public char caesar(){
        char[] chr= new char[(stri.length())];
        char[] testchar=new char[stri.length()];
        for (int i=0; i < stri.length(); i++){
            chr[i]=stri.charAt(i);
            testchar[i] = (char)(chr[i]+ 3);
            System.out.println(testchar[i]);
    }
    return 1;
    }

}
 
Zuletzt bearbeitet von einem Moderator:
kneitzel

kneitzel

Top Contributor
Wo kommt genau welche Exception? Und was genau machst Du?

Im Augenblick sieht es auf den ersten Blick so aus, als dürfte keine NullPointerException kommen, so du bei der Erstellung der Instanz einen String übergibst und nicht null.
 
D

DannyS

Mitglied
Wo kommt genau welche Exception? Und was genau machst Du?

Im Augenblick sieht es auf den ersten Blick so aus, als dürfte keine NullPointerException kommen, so du bei der Erstellung der Instanz einen String übergibst und nicht null.
Hallo, wenn ich den Code wie eben geschrieben, ausführe, kommt es nicht zu einem Fehler. Lediglich der Code im Ausgang hat in Zeile 8 eine Exception ausgelöst. Nachdem ich char[] testchar=new char[stri.length()]; wie von fhoffmann im Konstruktor hinzufüge, erhalte ich trotzdem die Exception in Zeile 15 (vorher 8). Ich habe dann die Zuweisung vom char in der Methode ausgeführt und es funktioniert.
 
kneitzel

kneitzel

Top Contributor
Also was @fhoffmann meinte, war lediglich die Initialisierung zu verschienben. Das hätte dann so ausgesehen:

Java:
class Caesar{
    public Caesar(String stri) {
        this.stri = stri;
        chr= new char[(stri.length())];
        testchar=new char[stri.length()];
    }

    public String stri;
    char[] chr;
    char[] testchar;

Du behältst also die Instanzvariablen, aber initialisiert werden diese im Konstruktor, wenn auch stri einen Wert hat und nicht null ist.

Java:
class Caesar{
    public Caesar(String stri) {
        this.stri = stri;
        char[] chr= new char[(stri.length())];
        testchar=new char[stri.length()];
    }

    public String stri;
macht keinen Sinn. Jetzt sind es lokale Variablen und nur im Konstruktor gültig.

Sowas:
Java:
    public char caesar(){
        char[] chr= new char[(stri.length())];
        char[] testchar=new char[stri.length()];
        for (int i=0; i < stri.length(); i++){
            chr[i]=stri.charAt(i);
            testchar[i] = (char)(chr[i]+ 3);
            System.out.println(testchar[i]);
        }
        return 1;
    }
ist natürlich gültig. Aber jetzt sind chr und testchar auch nur lokale Variablen und nur innerhalb der Methode gültig. So Du die Array nicht außerhalb der Methode benötigst, ist das also eine valide Sache.

(Ok, über den Sinn kann man noch reden, denn das return 1 macht nicht unbedingt viel Sinn ... was für ein Zeichen willst Du da zurück geben?)
 
D

DannyS

Mitglied
(Ok, über den Sinn kann man noch reden, denn das return 1 macht nicht unbedingt viel Sinn ... was für ein Zeichen willst Du da zurück geben?)
Vielen Dank, jetzt wurde mir einiges klarer. Das return habe ich nur erstmal reingeschrieben, um nicht void in die Methode zu schreiben. Da wird natürlich noch eine sinnvolle Verarbeitung stattfinden.
Der code ist sieht jetzt wie folgt aus:
Java:
class Caesar{
    public Caesar(String stri) {
        this.stri = stri;
        chr= new char[(stri.length())];
        testchar=new char[stri.length()];
    }

    public String stri;
    char[] chr;
    char[] testchar;
    public String s;

    public String caesar(){
        //char[] chr= new char[(stri.length())];
        //char[] testchar=new char[stri.length()];
        for (int i=0; i < stri.length(); i++){
            chr[i]=stri.charAt(i);
            testchar[i] = (char)(chr[i]+ 3);
            s+=testchar[i];
            System.out.println(s);
    }
    return s;
    }
}
[B]
[/B]
 
T

Trjavnamen

Bekanntes Mitglied
Moment char[] ist ein Array das mit einem String dimensioniert wird? char[] chr= new char[filu];
 
D

DannyS

Mitglied
Hallo,
Ich verstehe die Frage nicht ganz. Es funktioniert alles wie gewünscht. Der Char wird nur zu einem String hinzugefügt, aber nicht dimensioniert. Ich verwende die Länge des Strings zur Initialisierung.
Gruß Danny
 
T

Trjavnamen

Bekanntes Mitglied
[(stri.length()-1)]; das array begint mit 0 und endet mit 9. Wird der erste buchstabe in 1 gesetzt endet das wort in 10 und das ist außerhalb der Grenze =out of bond könnte da das problem sein?
 
Zuletzt bearbeitet:
D

DannyS

Mitglied
Danke für die Antwort, das Problem war eigentlich nur, dass beim initialisieren der String nicht initialisiert war und dadurch 0 da stand. Dadurch wurde die Exception ausgelöst.
Gruß Danny
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
I Hilfe beim löschen von Buchstaben. Java Basics - Anfänger-Themen 1
I Hilfe beim löschen schon Buchstaben. Java Basics - Anfänger-Themen 4
J Hilfe beim "Verknüpfen" von zwei Klasse Java Basics - Anfänger-Themen 15
B Hilfe beim Kreisberechnungsprogramm Java Basics - Anfänger-Themen 6
D Hilfe beim übersetzen in der Klasse Throwable Java Basics - Anfänger-Themen 2
S Datentypen Hilfe beim Typecasting Java Basics - Anfänger-Themen 7
F Erste Schritte Hilfe beim Algorithmus finden Java Basics - Anfänger-Themen 6
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
H Hilfe beim Programmablaufplan Java Basics - Anfänger-Themen 2
C Hilfe beim Zeichnen Java Basics - Anfänger-Themen 8
P Hilfe beim einlesen eines Textes Java Basics - Anfänger-Themen 11
B Hilfe beim Verständnis zu Generics Java Basics - Anfänger-Themen 7
D Hilfe beim SDF Datum Ausgabe Java Basics - Anfänger-Themen 20
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
B Co2 rechner hilfe beim programmieren Java Basics - Anfänger-Themen 10
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
E Hilfe beim Einstieg Java Basics - Anfänger-Themen 46
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
P HILFE !!! erste aufgabe beim programmieren Java Basics - Anfänger-Themen 13
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
V Hilfe beim implementieren von Iterator Java Basics - Anfänger-Themen 5
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
Developer_X Hilfe beim umbauen von Strings Java Basics - Anfänger-Themen 4
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
G Fehler beim Ausführen HILFE! Java Basics - Anfänger-Themen 12
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
A Hilfe beim "übersetzen" Java Basics - Anfänger-Themen 7
O Linux - Fehler beim kompilieren - HILFE Java Basics - Anfänger-Themen 4
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
S Hilfe beim Einlesen Java Basics - Anfänger-Themen 6
K Hilfe beim starten eines Programms! Bitte helfen. Java Basics - Anfänger-Themen 8
D Hilfe beim Übergeben vom JTextfield Java Basics - Anfänger-Themen 2
E hilfe beim code Java Basics - Anfänger-Themen 3
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
G Hilfe zur einer Aufgabe: Datumsüberprüfung beim Gregorianis Java Basics - Anfänger-Themen 2
K Brauche Hilfe beim Programmieren eines Funktionsplotters Java Basics - Anfänger-Themen 3
B Hilfe beim Schüler-Project Java Basics - Anfänger-Themen 4
G Hilfe beim addieren(Anfänger) Java Basics - Anfänger-Themen 12
F Hilfe beim Zeichnen in JPanel Java Basics - Anfänger-Themen 2
L Kompletter Neuling: Hilfe beim ersten Java Versuchen Java Basics - Anfänger-Themen 12
F Hilfe beim erstellen von Jar files! Java Basics - Anfänger-Themen 2
A Hilfe beim Java-Einstieg Java Basics - Anfänger-Themen 3
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
N Laufzeitberechnung - dringende Hilfe! Java Basics - Anfänger-Themen 1
G Java Hilfe Java Basics - Anfänger-Themen 3
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
LeonDerStudent Hilfe bei Uniprojekt Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Kapfski Was habe ich falsch gemacht? Hilfe! Java Basics - Anfänger-Themen 17
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 17
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
jonathanpizza Hilfe bei einer Übungsaufgabe Java Basics - Anfänger-Themen 3
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
jonathanpizza Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
Q Hilfe auf Aufgabe(Matrixmultiplikation) Java Basics - Anfänger-Themen 1
jonathanpizza Hilfe bei der Aufgabe Java Basics - Anfänger-Themen 19
R Hilfe bei removeduplicates Java Basics - Anfänger-Themen 5
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
marcooooo einmal noch schnell hilfe bitte:/ Java Basics - Anfänger-Themen 2
Q Hilfe bei Hausaufgeben Java Basics - Anfänger-Themen 2
S Hilfe Java Basics - Anfänger-Themen 1
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
Chabub Hilfe bei Stacks und Queue Java Basics - Anfänger-Themen 2
A Hilfe bei Java Projekt Java Basics - Anfänger-Themen 4
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
B Hilfe bei Generics Java Basics - Anfänger-Themen 11
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
M Hilfe bei Strukturierung eines Buchungssystems Java Basics - Anfänger-Themen 3
J Replace mit Hilfe von ArrayLists Java Basics - Anfänger-Themen 6
J Hilfe bei Übungsaufgabe Java Basics - Anfänger-Themen 17
K Error bei meinem Programm - Hilfe Java Basics - Anfänger-Themen 8
B Hilfe bei einer rekursiven Methode Java Basics - Anfänger-Themen 3
K Java Projekt Hilfe Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben