Antwort
 
Themen-Optionen Thema durchsuchen
Alt 09.12.2005, 13:22 Nach oben    #1
am82
Gast
 
Beiträge: n/a
Standard Objekt Array

Ich hab n paar probleme mit Objekt Arrays.

Ich habe eine Klasse angelegt: Die die entsprechenden Datentypen des Arrays enthält.

Code:
 
public class Eintrag
{
	public String name = "";
 
	public Eintrag()
	{
 
	}
}
in einer anderen Klasse erzeuge ich dann ein Objekt dieser Klasse.

Code:
Eintrag[] array = new Eintrag[100]; 
array[0].name = "TEST";
In der Zeile
array[0].name = "TEST";
erhalte ich dann eine NullPointException.

Kann mir da vielleicht jemand weiterhelfen
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.12.2005, 13:34 Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 02.02.2005
Beiträge: 539
Standard

array[0] = new Eintrag();

[edit] Oh, hab ja die Hälfte vergessen. Danach kannste ganz normal

array[0].name = "TEST";

machen. Du musst ja erst ma ne neue Instanz erstellen. Außerdem sollte man so nicht auf Variablen zugreifen sondern mit Getter und Setter methoden.
Gottzilla ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.12.2005, 14:22 Nach oben    #3
Erfahrener Benutzer
 
Benutzerbild von karahead
 
Registriert seit: 23.11.2005
Ort: Stadtallendorf
Beiträge: 139
Standard

, weil Eintrag[] array = new Eintrag[100]; das Array nur definiert aber nicht initialisiert.
Es werden also 100 Eintrag Objekte erstellt und auf null gesetzt.

Vor dem benutzen musst du sie erst initialisieren.

for(int i=0;i<array.length; i++)
arr[i] = new Eintrag(); //oder welchen Konstruktor auch immer
__________________
Die Menschen wünschen sich Unsterblichkeit, aber wissen nichts anzufangen an einem verregneten Sonntag Nachmittag.
karahead ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.12.2005, 15:22 Nach oben    #4
am82
Gast
 
Beiträge: n/a
Standard

ok, klingt wohl irgendwie logisch.

Besten Dank

Eine Frage habe ich aber noch.

Wenn ich das Array definiere, muss ich auf jeden Fall wissen, wie lang es wird oder kann ich die größe im nachhinein noch irgendwie anpassen?

Was dann ja auch irgendwie ein vector wäre, oder?
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.12.2005, 18:32 Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von karahead
 
Registriert seit: 23.11.2005
Ort: Stadtallendorf
Beiträge: 139
Standard

Du kannst die Größe auch später festlegen. Z.B.
Code:
boolean[] arr = new boolean[n]; //n ist ne variabel
Jedoch ist eine Instanz der Klasse Vector,ArrayList u.s.w. praktischer, da wird der Vector automatisch vergrößert, wenn du mal 12 Elemente hast und nur für 10 Speicher reserviert hast.

Es ist alles Möglich mit Java

Das ist ein grober Überblick. Konkretere Fragen würden konkretere Antworten nach sich ziehen.
__________________
Die Menschen wünschen sich Unsterblichkeit, aber wissen nichts anzufangen an einem verregneten Sonntag Nachmittag.
karahead ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.12.2005, 19:37 Nach oben    #6
Benutzer
 
Benutzerbild von 3qualizer
 
Registriert seit: 29.05.2004
Beiträge: 45
Standard

Nein, geht leider nicht
n must du vorher ja deklarieren.
Code:
public class VarArr {
  public static void main( String[] args ) {
    new VarArr();
  }

  public VarArr() {
    int n = 3;
    boolean[] arr = new boolean[n];
    n = 4;

    System.out.println( arr.length );
  }
}
Für solche Variablen Teile gibt es Vector, Enum, List etc.
__________________
Jabber: melsi@amessage.de
3qualizer ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.12.2005, 13:21 Nach oben    #7
am82
Gast
 
Beiträge: n/a
Standard

Ich habe ein Array, das dolgendermaßen aufgebaut ist.

Code:
public class Array
{
public int id; 
public String bezeichnung; 
public String datum;
public String uhrzeit;
public Array[] array1;
}
und so kann ich ja ein Objekt hinzufügen.
Am besten noch mit getter und setter Methoden.

Code:
Array[] test= new Array[1]; 
test[a] = new Array();
test[a].id = id;
test[a].bezeichnung = bezeichnung;
test[a].datum = datum;
Leider muss ich ja bei dieser Art eines Array die Größe des Array genau wissen.
Bei ArrayList ist dies anders, kann aber leider immer nur eine Ibformation pro Objekt sepichern, oder?

Beispiel:

Code:
 
ArrayList test = new ArrayList();
test.add(0, "Eintrag 1");
test.add(0, "Eintrag 2");
So bekomme ich es nicht hin id, Bezeichnung, Datum etc. für ein Objekt zu speichern.

Kann mir jemand einen Tipp geben, wie man mehrere Informationen pro Objekt speichern kann, ohne zuvor eine feste Arraygröße anzugeben.
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.12.2005, 17:24 Nach oben    #8
Benutzer
 
Benutzerbild von 3qualizer
 
Registriert seit: 29.05.2004
Beiträge: 45
Standard

Code:
public class Infos {
  private int id;
  private String bezeichnung;
  private String datum;
  private String uhrzeit;

  public Infos( int id, String bezeichnung, String datum, String uhrzeit ) {
    this.id = id;
    this.bezeichnung = bezeichnung;
    this.datum = datum;
    this.uhrzeit = uhrzeit;
  }
}

ArrayList test = new ArrayList();
test.add( new Infos( 0, "Eintrag 1", "11.12.2005", "17:24" ) );
test.add( new Infos( 1, "Eintrag 2", "13.12.2005", "13:51" ) );
__________________
Jabber: melsi@amessage.de
3qualizer ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.12.2005, 09:41 Nach oben    #9
am82
Gast
 
Beiträge: n/a
Standard auslesen

Das sieht schon gut aus. Besten Dank aber wie bekomm ich diese Werte ausgelesen? Ich glaub ich bin heute nicht so fit im Kopf.

test.get(0)

und dann infos???, aber wie
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.12.2005, 19:01 Nach oben    #10
Benutzer
 
Benutzerbild von 3qualizer
 
Registriert seit: 29.05.2004
Beiträge: 45
Standard

Code:
public class Infos {
  private int id;
  private String bezeichnung;
  private String datum;
  private String uhrzeit;

  public Infos( int id, String bezeichnung, String datum, String uhrzeit ) {
    this.id = id;
    this.bezeichnung = bezeichnung;
    this.datum = datum;
    this.uhrzeit = uhrzeit;
  }

  public int getId() { return id; }
  public String getBezeichnung() { return bezeichnung; }
  public String getDatum() { return datum; }
  public int getUhrzeit() { return uhrzeit; }
}

ArrayList test = new ArrayList();
test.add( new Infos( 0, "Eintrag 1", "11.12.2005", "17:24" ) );
test.add( new Infos( 1, "Eintrag 2", "13.12.2005", "13:51" ) );

System.out.println( test.get(0).getBezeichnung() );
Jetzt aber genug, selber weiterdenken
__________________
Jabber: melsi@amessage.de
3qualizer ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zend Framework - Probleme mit Zend_Controller_RewriteRouter bzw. Form der URLs Ben PEAR, PECL und Frameworks 12 24.12.2006 17:17
Suche Hilfe: Angebot und Nachfrage berechnen ljungi Plauderecke 6 17.12.2006 22:10
Array in Bezug auf ein anderes sortieren... code5 PHP-Programmierung 2 15.05.2006 15:56
Ein Array in ein Array schreiben bacarni PHP-Programmierung 2 07.02.2006 14:24


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45