Klasse und Objekte

canyakan95

Bekanntes Mitglied
Gegeben ist eine Klasse und ich soll sie mit 3 Methoden vervollständigen.
Vorgegeben war als erstes
Java:
 public class IntVal
{
private int i;
public IntVal( int i ) { this.i = i; }
public int get() { return i; }
}

Mein aufgaben waren :
Vervollständigen Sie die Klasse Value um die folgenden zusätzlichen Methoden:
• public int get() liefert den in einem Value-Objekt abgelegten int-Wert.
• public void set( int i ) setzt den in einem Value-Objekt abgelegten int-Wert auf
den Wert des Parameters i.
• public void inc() erhöht den in einem Value-Objekt abgelegten int-Wert um den
Wert 1.

und ich habe folgendes hinbekommen
Java:
public class Value
{
    private IntVal v;
    
    public Value( int i)
    {
        v= new IntVal(i);
    }
    public int get()
    {
        return v.get();
    }
    public void set(int i)
    {
        v= new IntVal(i);
    }
}

Nur weis ich jetzt leider nicht wie ich die methode set und inc machen soll.
Hoffe das ihr mir ein bsp zeigen könnt damit ich das versuche
Mfg
 

javampir

Bekanntes Mitglied
die klasse IntVal darfst du nicht verändern oder? dann ist die idee deiner set-methode in ordnung. inc würde ich so angehen: wert von v holen, eins dazuzählen und dann das aus deiner set übernehmen ;)
 

canyakan95

Bekanntes Mitglied
Ja wie holt man den wert von v .. Kannse mir das vllt zeigen.. ??
Ne die klasse intval darf ich nicht verändern.
Habe probleme den wert v zu holen und zu ändern.
Mit freundlichen Grüßen
 

javampir

Bekanntes Mitglied
mit diesem ausdruck bekommst du schon den richtigen wert. jetzt musst du das v nur noch klar machen:
Java:
set(v.get() + 1
und schon hast dus
javampir
 

canyakan95

Bekanntes Mitglied
Hallo ich soll eine weitere Aufgabe dazu lösen und zwar existiert die KLasse Storage und die ist vorgegeben.
Java:
public class Storage
{
    private Value[]ints;
    public void set ( int i , int v) 
    {
        if(!(i<ints.length&&i>ints.length))
        {
            for(int j=0;j<ints.length;j++)
            {
                ints[j]=v;
            }
        }
    }
}

Die set methode sollte ich programmieren und die aufgabenstellung war: public void set( int i, int v ) setzt den Wert des Value-Objekts am Index i
auf den Wert von v, falls i im gültigen Indexbereich des Feldes liegt.

nur bekomme ich immer die fehlermeldung: int cannot be converted to value..
Wisst ihr was ich falsch gemacht habe . Die fehlermeldung bekomme ich bei " ints[j]=v;"
Mfg
 
Zuletzt bearbeitet:

X5-599

Top Contributor
"v" ist ein int. Dein ints Array hält aber Value Objekte. EDIT: Also brauchst du ints.set(v); EDIT 2: Natürlich geht das nur, wenn auch bereits ein Value Objekt an diesem Index existiert.
Weiter: Warum die for Schleife? Es soll doch nur der Value für "v" an den Index von "i" geschrieben werden (wenn "i" im gültigen Indexbereich)...
Auch: Die if Bedingung wird meiner Meinung nach immer erfüllt sein, da es keinen Index gibt der gleichzeitig kleiner und grösser als die Array Länge ist.
 
Zuletzt bearbeitet:

Neue Themen


Oben