vendredi 5 juin 2015

Klasse und Objekte

Hallo meine Aufgaben waren: Die Klasse Ints besitzt Konstruktoren und weitere Methoden, die hier aber nicht verwendet werden sollen.
Vervollständigen Sie die Klasse Ints um die folgenden zusätzlichen Methoden:
• [1 Punkt] void set( int index, int val ) setzt den Wert im Feld numbers am Index index auf
den Wert val, falls der Index gültig ist. Sonst geschieht nichts.
• [1 Punkt] int count( int val ) gibt die Häufigkeit zurück, mit der der Wert val im Feld numbers
auftritt.
• [1 Punkt] void substitute( int oldVal, int newVal ) ersetzt im Feld numbers jedes Vorkommen
des Wertes oldVal durch den Wert newVal.

Folgendes habe ich gemacht und das sollte auch soweit so gut richtig sein?!
Java Code:

  1.  
  2. public class Ints {
  3.  
  4. private int [] numbers;
  5.  
  6. public void set (int index,int val)
  7. {
  8. if(index>=0 && index<numbers.length)
  9. {
  10. for(int i=0;i<numbers.length;i++)
  11. {
  12. numbers[index]=val;
  13. }
  14. }
  15. }
  16. public int count (int val)
  17. {
  18. int quantity=0;
  19. for(int cand: numbers)
  20. {
  21. if(numbers[cand]==val)
  22. {
  23. quantity++;
  24. }
  25. }
  26. return quantity;
  27. }
  28. public void substitute(int oldVal, int newVal)
  29. {
  30. for(int i=0;i<numbers.length;i++)
  31. {
  32. if(numbers[i]==oldVal)
  33. {
  34. oldVal = newVal;
  35. }
  36. }
  37.  
  38. }
  39. }


Als nächstes sollte ich folgdes machen: Die Klasse Storage besitzt als Attribut ein Feld der aus Aufgabenteil a) bekannten Klasse Ints.
Die Klasse Storage besitzt auch Konstruktoren und weitere Methoden, die hier aber nicht verwendet
werden sollen. Vervollständigen Sie die Klasse Storage um zwei Methoden.
Beachten Sie bei den Lösungen, dass eine Referenz nicht immer auf ein Objekt verweisen muss.
• [2 Punkt] boolean contains( int p ) gibt true zurück, falls der Wert von p mindestens einmal in
den in values abgelegten Werten vorkommt. Sonst wird false zurückgegeben.

Ich habe folgendes gemacht aber das will iwie nicht klappen:
Java Code:

  1.  
  2. public class Storage2 {
  3. private Ints[]values;
  4.  
  5. public boolean contains(int p)
  6. {
  7. for(Ints cand : values)
  8. {
  9. if(values[cand]==p)
  10. {
  11. return true;
  12. }
  13. }
  14. return false;
  15. }
  16.  
  17. }

Mein fehler liegt in der zeile (values[cand]==p) , aber ich weis nicht warum..Hoffe ihr könnt mich korriegieren.
Mfg


Klasse und Objekte

0 commentaires:

Enregistrer un commentaire