Erste Schritte Java ein Array Feld[index] zurueckgeben?

Terry12

Aktives Mitglied
hi,

ich hab ein Object Array , hier 2 Methoden daraus:

Java:
    public Object getKeyValue()
    {
        return keyValue;
    }
    
    public Object getKeyValueIndex(int index)
    {   
        assert (index >=0 && index<=size):"Index muss >=0 sein und max. so groß wie das Array sein!";
        Object o1 = array[index].getKeyValue();
        return o1;
    }

warum sagt er mir dauernd cannot find symbol - method getKeyValue() ? Ich arbeite mit BlueJ
 

AquaBall

Top Contributor
[STRIKE]Object[/STRIKE] Array[] hat keine Methode names
Java:
getKeyValue

hö? Ich hab doch 2 zeilen weiter oben die Methode public Object getKeyValue()
oder bin ich zu blöd?

Dein getKeyValue hat nichts mit der (uns unbekannten) Klasse von Array zu tun.
(ist ja der Sinn in Java, dass der selbe Methodenname für unterschiedliche Klassen definiert werden kann.)

Für die Klasse array[] ist er offensichtlich nicht definiert.
 
Zuletzt bearbeitet:

Terry12

Aktives Mitglied
aber wie soll ich denn sonst mittels eines index auf ein Array zugreifen und den dortigen KeyWErt zurueckgeben?
hier mein java code :
Java:
    /**
     * Konstruktor für Objekte der Klasse Array
     */
    public ObjectArray(int maxSize)      
    {
        assert (maxSize >0 ): "Array Groesse darf nicht <=0 sein!";
        array = new Object[maxSize];  
        this.maxSize = maxSize;
        this.size = size;        
    }

    /**
     * Fuegt ein Objekt in das Array ein.
     * 
     * @param       Object keyValue
     * @return      
     */
    public void insert(Object keyValue)
    {
        assert (keyValue!=null) :"Objekt darf nicht leer sein!";
        array[size++] = keyValue;        
    }
    
    public int getSize()
    {
        return size;
    }
    
    public int maxSize()
    {
        return maxSize;
    }
    
    public Object getKeyValue()
    {
        return keyValue;
    }
    
    public Object getKeyValueIndex(int index)
    {   
        assert (index >=0 && index <=size):"Index muss >=0 sein und max. so groß wie das Array sein!";
        return array[index].getKeyValue();        
    }
    
    /**
     * Methode um zu uebergebenem Index das entsprechende Objekt zurueckzugeben.
     * 
     * @param       int index (Index)
     * @return      Object (Rueckgabe ist ein Objekt)
     */
    public Object getIndexObject(int index)
    {                
        assert (index >= 0 && index < array.length) : "Index muss >= 0 sein und im Array-Bereich liegen!";
        return  array[index];           
    }
    
    
    /**
     * Ein Beispiel einer Methode - ersetzen Sie diesen Kommentar mit Ihrem eigenen
     * 
     * @param  y    (Beschreibung des Parameters)
     * @return      (Beschreibung des Rückgabewertes)
     */
    public Object getKeyValue(int index)
    {
        assert (index >= 0 && index < array.length) : "Index muss >= 0 sein und im Array-Bereich liegen!";
        
        return array[index];
    }
    
    public String toString()
    {
       StringBuilder sb = new StringBuilder();   
       for (int i = 0; i< size; i++) {
       sb.append("Objekt Nr.: " +i+ "\tKey-Wert: " +array[i]);       
       }      
       return sb.toString();
    } 


}
 
S

SlaterB

Gast
array[index] ist irgendwas, was genau kann man ohne den Typ des Arrays aber nicht wissen,
wenn es ein Object[] ist, dann kommt Object zurück, egal welches konkrete Objekt es ist, dann muss man erst casten

vergleichbar mit
Java:
Object o = "";
o.substring(...); // String-Methode zunächst nicht da
 
N

nillehammer

Gast
hö? Ich hab doch 2 zeilen weiter oben die Methode public Object getKeyValue()
oder bin ich zu blöd?
Ja, du hast in Deiner eigenen Klasse die Methode definiert, versuchst sie aber auf
Code:
array[index]
aufzurufen. Da Du Dein Array so definiert hast, dass es
Code:
Object
enthält, bekommst Du auch
Code:
Object
heraus und
Code:
Object
hat diese Methode nicht.
 
S

SlaterB

Gast
wie man nun sieht enthält das Array die eingefügten Werte,
es sollte also einfach array[index] zurückgegeben werden,

die Methode getKeyValue() kann weg, das Instanzattribut keyValue hat keine Funktion


-------

es gibt sogar schon eine fertige korrekte Methode getKeyValue(int index) weiter unten?!
 
N

nillehammer

Gast
Java:
MeineKlasse[] array;
Oder nimm einfach Map (HashMap/LinkedHashMap). Sieht für mich nämlich so aus, als würdest Du das nachbauen wollen.
 

AquaBall

Top Contributor
Es ist auch nicht klar, was du mit "KeyValue" meinst:

array ist selbst der "Wert" der an der Stelle "i" steht!

Aber:
  • ob das vielleicht schon dein "KeyValue" ist, oder
  • ob das erst ein Objekt ist, das eine Eigenschaft keyValue hat, oder
  • ob du einen von diesem Objekt abhängigen Wert erst noch ermitteln musst
hängt von deiner Klasse ab.
 

Terry12

Aktives Mitglied
wie man nun sieht enthält das Array die eingefügten Werte,
es sollte also einfach array[index] zurückgegeben werden,

die Methode getKeyValue() kann weg, das Instanzattribut keyValue hat keine Funktion

-------

es gibt sogar schon eine fertige korrekte Methode getKeyValue(int index) weiter unten?!

ok danke aber kann es auch sein, dass wenn man zB ein abstrakten Datentyp, z.B Auto in das array packt und dann array[0] zurueckgibt, bekommt man doch nicht die Werte des Autos zurueck, sondern Klassenname@Speicheradressse , was macht man dann?
die untere Methode wollte ich ja eben verbessern, aus oben genannten Gründen^^
 

AquaBall

Top Contributor
ok danke aber kann es auch sein, dass wenn man zB ein abstrakten Datentyp, z.B Auto in das array packt und dann array[0] zurueckgibt, bekommt man doch nicht die Werte des Autos zurueck, sondern Klassenname@Speicheradressse , was macht man dann?
die untere Methode wollte ich ja eben verbessern, aus oben genannten Gründen^^

Wenn deine Klasse Auto das Merkmal ps enthält, und wie hier in einer Liste geparkt sind:
Dann ist
Code:
autoListe[i]
selbst ein
Code:
Auto
Java:
autoListe[i].getPS();

Edit:
Ich gehe davon aus dass "sauber" mit Getter gearbeitet wird.
Sonst gehts auch "schlampig", aber das sollte nicht verwendet werden.
Java:
autoListe[i].ps;
class Auto{
private double ps;
private String marke;
...
public double getPS() {return this.ps};
}
 
Zuletzt bearbeitet:
N

nillehammer

Gast
bekommt man doch nicht die Werte des Autos zurueck, sondern Klassenname@Speicheradressse , was macht man dann?
die untere Methode wollte ich ja eben verbessern, aus oben genannten Gründen
Ah ok, Du willst nur die Darstellung in System.out.println verbessern? Dann überschreib in Deinen Klassen die Methode toString(), ungefähr so:.
Java:
public class MeineKlasse {
  private String einFeld;

  @Override
  public String toString() {
    return "einFeld="+this.einFeld;
  }

}
Bei weiteren Feldern entsprechend. Ist wegen des
Code:
+
nicht besonders schön. Aber für den Anfang reicht es. Richtig gut machste es mit
Code:
StringBuilder
.

Meinen letzten Post kannste ignorieren. Da hab ich mich von den Methodennamen auf die falsche Fährte locken lassen.
 
G

Gast2

Gast
Nein, du bekommst schon das konkrete Objekt zurück, nur hast du darauf (bei dir) die Object Sicht. Das heißt du kannst auf alle Methoden und öffentlichen Variablen von Object zugreifen.
Wenn du das Objekt auf einen speziellieren Typ castest kannst du auch auf dessen Methoden zugreifen:
Java:
Object s = "";
s.substring(...); // geht nicht
String s1 = (String) s;
s1.substring(...); // geht
 

Terry12

Aktives Mitglied
hm ok
ich hab in das array ein int , ein string und ein Professor Datentyp mit Name, Gehalt und VOrlesung gepackt und er gibt mir tatsächlich alles korrekt , sogar mit den einzelnen Professorwerten zurueck.
Liegt das daran dass ich in der Professor Klasse eine .toString Methode definiert habe die eben diese Werte zurueckgibt, und er im Objekt array - wenn er den Professor zurueckgibt - automatisch die toString() Methode von Professor aufruft?
oder wie kommt es dass nicht sowas zurueckgegeben wird wie Professor@93328939f ???
 

AquaBall

Top Contributor
ich hab in das array ein int , ein string und ein Professor Datentyp mit Name, Gehalt und VOrlesung gepackt und er gibt mir tatsächlich alles korrekt , sogar mit den einzelnen Professorwerten zurueck.
Du hast das hoffentlich nicht in ein Array gepackt, sondern in eine Klasse formuliert.
Und mehrere dieser Klassen kannst du dann in ein Array packen.

Und von jedem Objekt gibts genau 1(!) methode toString().
Entweder eine von dir definierte (@override), oder die letzte darüber liegende.
(Die gibt halt für Arrays oder Objekte nur den Speicherort zurück)

Welche (von welcher Klasse) rufst du auf?
 

Terry12

Aktives Mitglied
Du hast das hoffentlich nicht in ein Array gepackt, sondern in eine Klasse formuliert.
Und mehrere dieser Klassen kannst du dann in ein Array packen.

Und von jedem Objekt gibts genau 1(!) methode toString().
Entweder eine von dir definierte (@override), oder die letzte darüber liegende.
(Die gibt halt für Arrays oder Objekte nur den Speicherort zurück)

Welche (von welcher Klasse) rufst du auf?

ja ich hab ein eigene Professor Klasse gemacht, und da die .toString() methode überschrieben, die gibt mir halt die Werte zurueck.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Java Array Java Basics - Anfänger-Themen 8
t2im Java Array-Länge ändern? Java Basics - Anfänger-Themen 22
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
M Quiz in Java programmieren mit Array Java Basics - Anfänger-Themen 8
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
T Java: Array monat absteigend sortieren? Java Basics - Anfänger-Themen 1
S Java Array Länge aus anderer Klasse lesen Java Basics - Anfänger-Themen 1
X Java zweidimensionales Array Java Basics - Anfänger-Themen 5
X Array List geordnet ausgeben. (JSF und JAVA) Java Basics - Anfänger-Themen 1
S Array Java erweitern Java Basics - Anfänger-Themen 27
M Wie kann ich im JAVA-GUI im Textfeld ein Array speichern Java Basics - Anfänger-Themen 4
B Java Array Fakultät Function Java Basics - Anfänger-Themen 5
E Wie wird in Java ein Char-Array terminiert ? Java Basics - Anfänger-Themen 15
kilopack15 Java Array Skalarprodukt testen Java Basics - Anfänger-Themen 21
T Variablen PHP Array jetzt für Java Java Basics - Anfänger-Themen 1
W Erste Schritte füllen Attribute java Klasse in for Schleife und Array Java Basics - Anfänger-Themen 16
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
J Java Array Zeichnung Skalieren und verschieben Java Basics - Anfänger-Themen 5
P Java : Array Fehler Java Basics - Anfänger-Themen 4
B Java rekursion minimum von ein array Java Basics - Anfänger-Themen 2
U JAVA - Ungerade Zahlen Array Java Basics - Anfänger-Themen 9
B Input/Output Formatierter Text aus PDF als Array auswerten in JAVA möglich ? Java Basics - Anfänger-Themen 8
U Kann man in Java ein Array zum Teil vorbelegen? Java Basics - Anfänger-Themen 4
J Java-Array abwechselnd Gross- und Kleinbuchstaben Java Basics - Anfänger-Themen 5
M Java spuckt Exeption bei Array aus Java Basics - Anfänger-Themen 2
T Collections Java Anfänger - Array-Struktur vollkommen unklar Java Basics - Anfänger-Themen 2
S Java Array Basic Java Basics - Anfänger-Themen 5
M java.util.ArrayList to java.sql.Array Java Basics - Anfänger-Themen 4
K Java Array Problem Java Basics - Anfänger-Themen 3
M Java Array - Durchschnitt Java Basics - Anfänger-Themen 7
S java array Java Basics - Anfänger-Themen 7
S JAVA Array Anwendersystem Java Basics - Anfänger-Themen 8
K java.lang.NullPointerException in Array bei Arraylistübergabe Java Basics - Anfänger-Themen 7
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
J Ringpuffer als Array in Java ;-) Java Basics - Anfänger-Themen 3
B Java Array List größe auslesen zur Suchfunktion Java Basics - Anfänger-Themen 5
C Bäume in Java. Knoten in Array speichern Java Basics - Anfänger-Themen 3
C Java Array wie in PHP? Java Basics - Anfänger-Themen 9
S Java - Double-Array-Wertzuweisung erfolgt nicht Java Basics - Anfänger-Themen 4
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben