Array Problem

Status
Nicht offen für weitere Antworten.

Loki

Aktives Mitglied
Ich bin grad dabei, ein FreePascal Quellcode nach Java zu portieren. Dabei trat folgender Fehler auf:

Ich benutze in FP ein array vom Typ TAnalyseTabelle(besteht aus 2 Komponenten).
In Java hab ich das umgesetzt als Klasse TAnalyseTabelle( besteht aus 2 Komponenten).
Im Hauptprogramm habe ich den Array in der Methode Analyse wie folgt definiert:
Code:
TAnalyseTabelle statistik1[] = new TAnalyseTabelle[256];
Nun dachte ich, ich kann statistik1 wie folgend benutzen:
Code:
   statistik1[0].amount=0;

Bei der Programmausführung wird aber eine Exception ausgelöst

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at TCompressor.analyse(TCompressor.java:108)
at TCompressor.komprimiere(TCompressor.java:267)
at Main.komprimierenMousePressed(Main.java:190)
at Main.access$600(Main.java:9)
at Main$5.mousePressed(Main.java:109)
 

byte

Top Contributor
Du musst vorher schon die Objekte instanzieren:

Code:
statistik1[0] = new TAnalyseTabelle();
 

Loki

Aktives Mitglied
Ich dachte das erledigt
Code:
TAnalyseTabelle statistik1[] = new TAnalyseTabelle[256];
für mich. Mit den new wird doch eine Instanz erzeugt, oder verstehe ich da was falsch.
 
G

Gelöschtes Mitglied 5909

Gast
mit dem code oben wird der platz auf dem heap bereitgestellt, aber noch kein objekt erstellt.

und du hast wohl noch nix von gettern / settern gehört, sonst würde folgendes nicht da stehn:

statistik1[0].amount=0;

mach die attribute private und mach ne public getter und setter methode, für jedes attribut. Mit Eclipse beispielsweise kann man die sich automatisch erstellen lassen.

desweiteren wäre es vielleicht sinnvoll ne collection zu verwenden, kann ich so aber nich sagen, wiel ich ja nich weiß was du genau machen willst. Wenns mit nem Array geht, dann lass es so.
 

0xdeadbeef

Top Contributor
raiL hat gesagt.:
mit dem code oben wird der platz auf dem heap bereitgestellt, aber noch kein objekt erstellt.
Um Unklarheiten zu beseitigen:
In Java ist auch ein Array ein Objekt. Ein Array wiederum enthält nur Referenzen auf Objektinstanzen, nicht die Objektinstanzen selber.
Wenn man jetzt den Array mit "new Name[Größe]" anlegt, wird schon ein Objekt instanziiert, aber halt das Array-Objekt. Das enthält jetzt entsprechend viele "leere" Referenzen (klassisch gesprochen: Zeiger mit dem Wert Null).
Um ein Element im Array auf ein Objekt zeigen zu lassen, muß man dem Element eine Objektinstanz zuweisen - wie byto das ja schon geschrieben hat.
 

byte

Top Contributor
raiL hat gesagt.:
und du hast wohl noch nix von gettern / settern gehört, sonst würde folgendes nicht da stehn:

statistik1[0].amount=0;

mach die attribute private und mach ne public getter und setter methode, für jedes attribut.

Naja, man schreibt erstens keine getter/setter für einzelne Array-Felder und zweitens kann man wohl davon ausgehen, dass o.g. Ausdruck in der gleichen Klasse steht, wie das Array selbst. Und dann ist der Zugriff über getter/setter eh unnötig.
 

Loki

Aktives Mitglied
raiL hat gesagt.:
mit dem code oben wird der platz auf dem heap bereitgestellt, aber noch kein objekt erstellt.

und du hast wohl noch nix von gettern / settern gehört, sonst würde folgendes nicht da stehn:

statistik1[0].amount=0;

mach die attribute private und mach ne public getter und setter methode, für jedes attribut. Mit Eclipse beispielsweise kann man die sich automatisch erstellen lassen.

desweiteren wäre es vielleicht sinnvoll ne collection zu verwenden, kann ich so aber nich sagen, wiel ich ja nich weiß was du genau machen willst. Wenns mit nem Array geht, dann lass es so.

Statistik soll die Häufigkeitsverteilung( Entropie ) eines ASCII Textes speichern, zwecks Datenkompression. Nicht unbedingt besser als die klassischen Verfahren. :meld:

Also geter und seter für statistik1 sind unangebracht, weil das ein statisches Feld ist, welche nur in einer Methode benutzt wird und die größte Ähnlichkeit mit eine Record-,Struct-Typ hat. Abgesehen davon erzeuge ich damit unnötig Methodenaufrufe. Die Performance soll nicht wesentlich schlechter sein als ein FP Programm. Collection könnte mir weiterhelfen benutze noch ein Hashtabelle zum finden des richtigen ASCII Code(DECODE). Erstmal will ich den Code umschreiben das er funktioniert und dann anpassen auf JAVA und optimieren.
 
G

Gelöschtes Mitglied 5909

Gast
1. da steht nix von wegen getter für jedes einzelne array element @ byto

2. die ähnlichkeit zu einer struct is kein argument, das is java und kein c/c++
 

byte

Top Contributor
raiL hat gesagt.:
1. da steht nix von wegen getter für jedes einzelne array element @ byto

Ändert nix daran, dass Deine Antwort erstens komplett an der Fragestellung vorbeiging und zweitens so auch nicht korrekt ist, weil man nicht per getter auf lokale Membervariablen zugreift. Und aus dem Topic geht keineswegs hervor, dass der Zugriff von Aussen erfolgt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
A Array problem Java Basics - Anfänger-Themen 16
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
B Array Problem Java Basics - Anfänger-Themen 3
F Problem mit der Aufgabe(Array) Java Basics - Anfänger-Themen 21
H boolean Array Problem Java Basics - Anfänger-Themen 7
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
S Problem: Array alle Einträge gleich Java Basics - Anfänger-Themen 10
L Array-Problem/Zufallszahlen Java Basics - Anfänger-Themen 7
G Problem mit Array Java Basics - Anfänger-Themen 2
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
C Problem mit Arrays im Array Java Basics - Anfänger-Themen 11
A Problem mit Array Ausgabe Java Basics - Anfänger-Themen 7
L 2 dimensionales Array, Problem der Ausgabe Java Basics - Anfänger-Themen 4
E Array Problem Java Basics - Anfänger-Themen 1
L Problem mit Array Programm Java Basics - Anfänger-Themen 2
M Array problem Java Basics - Anfänger-Themen 9
M If und Array-Problem Java Basics - Anfänger-Themen 6
P OOP Array-Problem Java Basics - Anfänger-Themen 5
S Problem mit Array.Length Java Basics - Anfänger-Themen 2
R Array Problem Java Basics - Anfänger-Themen 17
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
F Problem mit Array Java Basics - Anfänger-Themen 8
N OOP Problem mit Array Java Basics - Anfänger-Themen 17
M Problem mit 2D Array Java Basics - Anfänger-Themen 3
M Problem mit Array und replace Java Basics - Anfänger-Themen 3
D Array Problem Java Basics - Anfänger-Themen 4
F Array Problem !? Java Basics - Anfänger-Themen 6
M Erste Schritte Array Problem Java Basics - Anfänger-Themen 8
F Problem mit Array, Java Basics - Anfänger-Themen 4
F Problem: Verschlüsselung von String in Array Fehler Java Basics - Anfänger-Themen 2
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
B Problem mit Array Java Basics - Anfänger-Themen 5
J Array Problem Java Basics - Anfänger-Themen 2
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
D Klassen Problem mit Eigener Array-Klasse Java Basics - Anfänger-Themen 10
N Array problem bei einem magischen Quadrats Java Basics - Anfänger-Themen 3
P Klassen Klassen mit Array Problem Java Basics - Anfänger-Themen 4
T Problem mit Array Konvertierung Java Basics - Anfänger-Themen 13
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
L Array Problem NullPointerException Java Basics - Anfänger-Themen 3
K Problem: Array String to Integer Java Basics - Anfänger-Themen 2
M Char-Array Problem Java Basics - Anfänger-Themen 6
D Problem mit TextFeld Array Java Basics - Anfänger-Themen 18
A Array Zugriff- Problem Java Basics - Anfänger-Themen 5
V 2D - Objekt Array Problem Java Basics - Anfänger-Themen 3
K Java Array Problem Java Basics - Anfänger-Themen 3
L Problem mit Array Java Basics - Anfänger-Themen 3
K kleines Array-Problem Java Basics - Anfänger-Themen 6
X Array out of bounds problem Java Basics - Anfänger-Themen 7
M Array Problem Java Basics - Anfänger-Themen 2
K Generische Klasse mit innerer Klasse | Problem mit Array Java Basics - Anfänger-Themen 6
E Array Problem... Java Basics - Anfänger-Themen 14
P array problem Java Basics - Anfänger-Themen 9
P Codeschnipsel Verständnis Problem (Array) Java Basics - Anfänger-Themen 6
F Array Problem bei ByteburgTarif Java Basics - Anfänger-Themen 2
P Problem mit Laden und Ausgeben eines array-Objekts Java Basics - Anfänger-Themen 4
A Problem mit einem Array aus JButtons Java Basics - Anfänger-Themen 4
D Array multiplikations Problem Java Basics - Anfänger-Themen 26
D Array Problem Java Basics - Anfänger-Themen 5
B Mehrdimensionale Array Problem Java Basics - Anfänger-Themen 12
T Array-Vector Problem Java Basics - Anfänger-Themen 18
T Blutiger Anfänger mit Array Problem Java Basics - Anfänger-Themen 8
T problem mit array Java Basics - Anfänger-Themen 9
S String split array.length Problem Java Basics - Anfänger-Themen 3
B Problem mit Object Array Java Basics - Anfänger-Themen 8
W Problem mit BubbleSort und Array Java Basics - Anfänger-Themen 10
G Problem mit der Rückgabe von einem Array Java Basics - Anfänger-Themen 3
G Array-Problem Java Basics - Anfänger-Themen 3
M sinus berechnen array problem Java Basics - Anfänger-Themen 2
C array problem Java Basics - Anfänger-Themen 7
G Array ,Matrix Problem Java Basics - Anfänger-Themen 20
Antoras Problem mit Array Java Basics - Anfänger-Themen 5
K Problem mit 2 Dimensionalen Array Java Basics - Anfänger-Themen 4
D Array reverse Problem, da Referenz nicht auf tmpArray zeigt Java Basics - Anfänger-Themen 4
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
0 Array problem Java Basics - Anfänger-Themen 4
S Problem mit Array-Erstellung Java Basics - Anfänger-Themen 5
A array problem Java Basics - Anfänger-Themen 4
G array Problem Java Basics - Anfänger-Themen 9
H Problem mit array Java Basics - Anfänger-Themen 5
zilti Array-Problem Java Basics - Anfänger-Themen 6
J Array - Vertauschen Problem mit char/int Java Basics - Anfänger-Themen 6
M Problem mit Array in Methodenkopf Java Basics - Anfänger-Themen 2
K problem beim schreiben in ein int-array Java Basics - Anfänger-Themen 9
S JTable Problem mit einzufügendem Array Java Basics - Anfänger-Themen 6
D Problem mit Array brauche schnell Hilfe Java Basics - Anfänger-Themen 11
R Problem mit AbstractTableModel oder Array! Java Basics - Anfänger-Themen 5
G Problem mit Array bei einem 4-Gewinnt Spiel Java Basics - Anfänger-Themen 2
K problem mit resultset und 2d-array Java Basics - Anfänger-Themen 3
G Problem mit array Java Basics - Anfänger-Themen 2
P Array-Problem Java Basics - Anfänger-Themen 4
B Array Manipulation Problem Java Basics - Anfänger-Themen 11
B Array Problem (out of Bounds Exception) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben