Ein Getter bekommt eine anderen Type als er Return soll

J-Gallus

Mitglied
Moin Moin,
Ich sitze gerade an eine meiner Übungsaufgaben aus dem Buch un verstehe eine Kleinigkeit nicht. Den Code den ich hier hochstellen werde beschreibt eigentlich schon die gesamte Aufgabe.
Mein Problem bildet ich direkt bei der zweiten/ dritten Methode, den Gettern und Settern, die Variablen mit einem anderen Type zurückgeben sollen als sie bekommen.
Die vorhandenen Methoden sind vorgegeben und dürfen nicht verändert werden.

Dankeschön.
// und sollte ich das mit dem
Code:
 schon wieder verkackt haben, bitte ich um Berichtigung.


[code=Java]
package programming.set8.links;

public class LinkedElement<T> {

    private T value, link;

    public LinkedElement(T value) {
        this.value = value;
    }

    /**
    * Returns the value of the i-th linked element.
    *
    * @param i
    *            0-based index of the element whose value to return.
    * @return the i-th element's value, or {@code null}if there is no element
    *         with that index.
    */
    public T get(int i) {
   // Wie bekomme ich den Wert von Int i in meine schon deklarierte value oder eine andere Variable des types T?
        this.value=??
        return value;
    }

    /**
    * Sets the value of the i-th linked element to the given value. If there is
    * no i-th linked element, nothing happens.
    *
    * @param i
    *            0-based index of the element whose value to return.
    * @param newVal
    *            the new value to set.
    */
    public void set(int i, T newVal) {
        // Implement me!
    }

    /**
    * Returns the index of the first occurrence of a linked element carrying
    * the given value in the list.
    *
    * @param val
    *            the value to search for.
    * @return index where the value was found, or -1 if it's not in any of the
    *         linked elements.
    */
    public int firstIndexOf(T val) {
        // Implement me!
    }

    /**
    * Adds a new linked element holding the given value at the end of the
    * linked elements.
    *
    * @param newVal
    *            the new value.
    */
    public void add(T newVal) {
        // Implement me!
    }

    /**
    * 4 Removes the i-th element from the linked elements. If {@code i == 0},
    * this will effectively remove the head element. Thus, this method returns
    * the linked element that is the new head element.
    *
    * @param i
    *            index of the element to remove.
    * @return the new head element.
    */
    public LinkedElement<T> remove(int i) {
        // Implement me!
    }

}
 

stg

Top Contributor
// Wie bekomme ich den Wert von Int i in meine schon deklarierte value oder eine andere Variable des types T?

Gar nicht. (es sei denn T ist zur Laufzeit zufällig ein Integer)
Aber: Das ist doch auch überhaupt nicht gefragt. Lies dir doch den Kommentar zu der Methode noch einmal durch!

Abgesehen davon scheint der Typ von der Variable link falsch zu sein. War das so vorgegeben, oder ist das dein eigener Code?
 

J-Gallus

Mitglied
Das hier ist noch ein kleiner Rest der Aufgabenstellung. Jetzt ist sie wirklich vollständig. Was meinst du mit gar nicht? Ich muss, für einen getter, doch irgendwie an den Wert der übergebenen variable kommen, die eben ein Integer ist, und sie dann per return zurück geben. Und dass muss eben über den Type T passieren. Aber schon mal danke für die Antwort.

Start by writing a class LinkedElement<T> in a package called programming.set8.links. T will be a placeholder for the data type of the value the element can hold. Add two private instance variables: one should hold the value the element holds, and the other should be a link to the next element, if any. Add a constructor that takes a parameter of type Tthat will become the value of the new linked element. Then, add the following methods:
 

stg

Top Contributor
Was meinst du mit gar nicht?
Ich glaube daran gibt es nicht so viel falsch zu verstehen, oder?
Ich muss, für einen getter, doch irgendwie an den Wert der übergebenen variable kommen, die eben ein Integer ist, und sie dann per return zurück geben.
Nein. Lies doch mal den Kommentar!
Add two private instance variables: one should hold the value the element holds, and the other should be a link to the next element, if any.
Dann verhält es sich so, wie ich im ersten Post gesagt hatte: Der Typ deiner Variablen link ist falsch!
 

Harry Kane

Top Contributor
link muss vom Typ LinkedElement<T> sein.
Mich verwirren die List-artigen set, get, add und firstIndex-Methoden, da ein LinkedElement doch nur ein weiteres LinkedELement kennt.
 

Harry Kane

Top Contributor
Dann müssten wir dem TE nur noch sagen, dass er den int Parameter getrost ignorieren kann, und immer nur link.value setzen oder zurückgeben muss.
 

stg

Top Contributor
Dann müssten wir dem TE nur noch sagen, dass er den int Parameter getrost ignorieren kann

Nein, der int Parameter hat die selbe Beudetung wie beim üblichen List-Interface. Was damit geschehen soll, steht auch im Kommentar der Methode. Deswegen ja schon mehrfach der Hinweis von mir, dass der TE eben diesen einfach mal lesen soll. :)
 

J-Gallus

Mitglied
Schön, dass ihr schon ohne mich weiter gemacht habt. Habe mich nach mehreren Tagen wieder ran gesetzt. Habe es mir, wie du es gwünscht hast noch mal durchgelesen und meinen Fehler bemerkt. Der Interger der übergeben wird soll nicht der Wert des Elements sein, sonder die Stelle vom Index an dem das Element steht. Ich habe link umbenannt zu index und es mit dem type int versehen. Leider, muss ich gestehen, habe ich wohl bei dem Thema linkedlist geschlafen. Ich weiß nicht so richtig wie ich eine Linklist erstelle um dann zu sagen, das der getter auf den index und dessen Wert zugeifen soll. Das ganze war auch nicht so richtig eine Frage. Naja, ich schau mal was ich noch zu dem Thema nacharbeiten kann und wollte mich noc mal für deine Erklärungen bedanken.
 

stg

Top Contributor
Ich habe link umbenannt zu index und es mit dem type int versehen.

Das ist leider wieder falsch. Der Index wird nirgends gespeichert, sondern ist eine Art abgeleitetes Attribut, welches sich schlich daraus ergibt, an welcher Stelle in der "Liste" das jeweilige LinkedElement steht.

Schau dir deine Unterlagen zu verketteten Listen noch mal an, das wird das Hauptproblem sein. Die Aufgabe ist nicht schwierig. Es ist schon schwieriger Hilfestellungen zu geben, ohne gleich Lösungen zu verraten :)

Mal anschaulich:
Singly-linked-list.svg


Jeder dieser drei "Container" ist ein Object vom Typ LinkedElement. Jedes LinkedElement hat ein Feld, in dem ein Wert vorgehalten wird (12, 99, 37..) und ein weiteres Feld, welches wieder eine Referenz auf ein weiteres LinkedElement (oder sozusagen auf "den Rest der Liste") enthält.

Wie würdest du vorgehen, wenn du den Inhalt vom Element an der dritten Stelle (Also Index 2) haben willst, in deinem Code aber nur das erste LinkedElement (das mit dem Wert 12) kennst?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
W Getter/Setter Java Basics - Anfänger-Themen 4
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
KogoroMori21 Objektvariable anderer Klasse übernehmen, Getter/Setter Java Basics - Anfänger-Themen 11
T Verständnisfrage Objekt Getter Setter Java Basics - Anfänger-Themen 102
KogoroMori21 Getter und Setter Java Basics - Anfänger-Themen 5
O Instanzattribut per Getter Methode zuweisbar, warum? Java Basics - Anfänger-Themen 8
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
J Array über Getter erlangen Java Basics - Anfänger-Themen 34
S Klassen instanziieren und verwenden von Getter und Setter Java Basics - Anfänger-Themen 4
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
V getter/setter Garage Java Basics - Anfänger-Themen 12
M Getter einer PriorityQueue Java Basics - Anfänger-Themen 1
KopaCoda Getter mehrfach aufrufen -> ist das guter code? Java Basics - Anfänger-Themen 3
V Getter Methode Java Basics - Anfänger-Themen 38
S getter, setter in abstrakter Klasse oder lieber Unterklassen Java Basics - Anfänger-Themen 4
topi Kapselung getter und setter Java Basics - Anfänger-Themen 5
D Setter/Getter für Instanzvariablen praktisch? Java Basics - Anfänger-Themen 19
S Getter/Setter - Variablenklasse ? Java Basics - Anfänger-Themen 5
S getter and setter Java Basics - Anfänger-Themen 12
L Getter und Setter Java Basics - Anfänger-Themen 2
T Extrahiertes Objekt durch Getter bekommen Java Basics - Anfänger-Themen 2
M Generics getter und setter Methoden Java Basics - Anfänger-Themen 4
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
A getter Java Basics - Anfänger-Themen 3
E Methoden Objekte in Methode aufrufen ohne getter und setter? Java Basics - Anfänger-Themen 1
T Getter für Array Java Basics - Anfänger-Themen 4
K Public Attribute oder getter - funktioniert leider beides hier nicht Java Basics - Anfänger-Themen 5
L Klassen - Getter & Setter Methoden Java Basics - Anfänger-Themen 2
D Erste Schritte Java - Setter und Getter Java Basics - Anfänger-Themen 1
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
P getter Java Basics - Anfänger-Themen 1
K Klassen Setter/Getter Java Basics - Anfänger-Themen 3
F OOP Schleifen und Probleme mit Setter und Getter Java Basics - Anfänger-Themen 1
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
M Getter Problematik mit ItemListener Java Basics - Anfänger-Themen 17
K Kapselung getter & setter Java Basics - Anfänger-Themen 11
S Array und Getter-Methode Java Basics - Anfänger-Themen 2
Avarion Getter von Super-Klasse funktioniert nicht Java Basics - Anfänger-Themen 10
J Frage zu Setter u. Getter Java Basics - Anfänger-Themen 7
T Variablen Getter-Setter vs Public Variable? Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
N Klassen fragen zur getter und setter methode Java Basics - Anfänger-Themen 11
D Ab wann getter und setter Java Basics - Anfänger-Themen 2
J Variable per Getter holen - wie ? Java Basics - Anfänger-Themen 2
K getter & setter Java Basics - Anfänger-Themen 6
C getter/setter Problem anscheinend Java Basics - Anfänger-Themen 13
D Getter Mehtode Unsicher Java Basics - Anfänger-Themen 6
G Erste Schritte Getter und Setter Java Basics - Anfänger-Themen 12
B Getter,Setter - Konstruktor überflüssig? Java Basics - Anfänger-Themen 26
N Sprite Methode (Getter, Setter, Konstruktor) Java Basics - Anfänger-Themen 9
S getter/setter aufrufen Java Basics - Anfänger-Themen 9
B Java getter/setter funktioniert nicht! Java Basics - Anfänger-Themen 7
X OOP Getter/Setter überschreiben den Wert ihrer Variablen nicht Java Basics - Anfänger-Themen 4
T Erste Schritte Verständnisfrage: Getter und Setter Methoden Java Basics - Anfänger-Themen 3
M Problem mit getter, liefert nur alte Werte Java Basics - Anfänger-Themen 6
V public Variablen vs Getter + Setter Java Basics - Anfänger-Themen 4
F Getter und Setter Java Basics - Anfänger-Themen 4
lulas[]args getter/setter umstellung Java Basics - Anfänger-Themen 6
El_Lobo Methoden Zu viele Getter- und Settermethoden - geht das einfacher? Java Basics - Anfänger-Themen 3
G Generics kein Zugriff auf getter eines Objekts Java Basics - Anfänger-Themen 4
B Klassen Getter-Setter vor neuem Klassenaufruf - wie? Java Basics - Anfänger-Themen 20
M OOP Aufruf vieler Getter Methoden abkürzen? Java Basics - Anfänger-Themen 7
N OOP Getter, Setter und andere Probleme Java Basics - Anfänger-Themen 8
A OOP Getter und Setter Java Basics - Anfänger-Themen 18
MU5T4NG Getter und Setten bei GUI-Erstellung Java Basics - Anfänger-Themen 13
B Variablen keine Arrayübergabe für getter im Interface Java Basics - Anfänger-Themen 8
L Unterschied Konstruktor / Getter Setter Java Basics - Anfänger-Themen 13
L Setter und Getter für Arrays? Java Basics - Anfänger-Themen 4
N boolean bei Setter und getter methoden Java Basics - Anfänger-Themen 21
J int Wert mit getter holen und in String parsen Java Basics - Anfänger-Themen 5
O Universeller GETTER Java Basics - Anfänger-Themen 5
J Die Getter Methode Java Basics - Anfänger-Themen 6
J Getter und Setter auch intern benutzen - guter Stil? Java Basics - Anfänger-Themen 31
Houly Setter/Getter MEthoden testen Java Basics - Anfänger-Themen 4
P OOP Getter&Setter Methoden funktionieren nicht Java Basics - Anfänger-Themen 7
E [Erledigt] Schöner Code zur Reduktion von unzähligen Getter-Methoden Java Basics - Anfänger-Themen 2
H Setter-und-Getter-Konvention Java Basics - Anfänger-Themen 8
V Reflection API - getter und setter Java Basics - Anfänger-Themen 7
-horn- EINE setter/getter klasse aus mehreren klassen befüllen Java Basics - Anfänger-Themen 13
C Getter/Setter Java Basics - Anfänger-Themen 61
F 2 dimensionales Array getter Methode Java Basics - Anfänger-Themen 3
H Frage zu getter und setter Java Basics - Anfänger-Themen 5
S Unbenutzte/überflüssige Getter/Setter herausfinden? Java Basics - Anfänger-Themen 2
K Getter Java Basics - Anfänger-Themen 6
M getter/setter bei JTextField ? Java Basics - Anfänger-Themen 21
G warum Setter/Getter Java Basics - Anfänger-Themen 25
S In einer Liste auf getter und setter zugreifen Java Basics - Anfänger-Themen 6
S JTextField in anderer Classe mit getter Methode auslesen. Java Basics - Anfänger-Themen 2
M if oder verschiedene getter Java Basics - Anfänger-Themen 31
M jTable bekommt null Java Basics - Anfänger-Themen 1
E Input/Output Socket bekommt keine Verbindung bei funktionierendem Fremdziel Java Basics - Anfänger-Themen 2
0x7F800000 Servlet: wo bekommt man die eigene adresse? Java Basics - Anfänger-Themen 6
M Methode bekommt ein Objekt der Klasse als Parameter. Wozu? Java Basics - Anfänger-Themen 4
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben