Avatar billede simonvalter Praktikant
20. marts 2003 - 17:42 Der er 10 kommentarer og
2 løsninger

udskriv Vectors indhold

jeg har en klasse hvor jeg tilføjer noget tilbehør i

public void addTilbehør(String t)
  {
    tilbehør.addElement(t);
  }


nu vil jeg godt have tilbehør skrevet ud med toString ... men det vil ikke lige hvad jeg vil
jeg har prøvet med
  public String getTilbehør() {
  for (int i=0;i<tilbehør.size();i--)
  {
    return (String) tilbehør.elementAt(i);
  }
  return null;
  }
men jeg får kun udskrevet den første ting i Vectoren ..

jeg har ikke noget problem hvis jeg gør det i min main klasse med noget ligende men det er ikke det jeg skal ;/ -- hvad gør jeg forkert ?
Avatar billede simonvalter Praktikant
20. marts 2003 - 17:44 #1
med for (int i=0;i<tilbehør.size();i--)
mener jeg for (int i=0;i<tilbehør.size();i++)
Avatar billede magoo20000 Nybegynder
20. marts 2003 - 17:44 #2
prøv med i++
Avatar billede c971572 Nybegynder
20. marts 2003 - 17:45 #3
Lige så snart du returnerer stopper metoden.
Du skal lave din udskrivning i for-løkken i stedet for at returnere
Avatar billede magoo20000 Nybegynder
20. marts 2003 - 17:46 #4
Den kan ikke bare returnere igen og igen. Prøv med System.out.println("Element: " + (String)tilbehør.get(i));
Avatar billede simonvalter Praktikant
20. marts 2003 - 17:50 #5
ok nu har jeg
public String getTilbehør() {
  for (int i=0;i<tilbehør.size();i++)
  {
    System.out.println(tilbehør.elementAt(i));
  }
  return null;
  }


men hvordan får jeg det til at se lidt pænt ud i min toString
lige nu give den
woot <-- i Vector
nooo
Tilbehør: null
Avatar billede magoo20000 Nybegynder
20. marts 2003 - 17:52 #6
Jeg ville lave den som :

Vector v = new Vector();
Iterator i = v.iterator();
while(i.hasNext()){
  System.out.println((String)tilbehør.elementAt(i));
}

Hvis der er noget i vectoren vil det blive skrevet ud nu:-)
Avatar billede simonvalter Praktikant
20. marts 2003 - 17:53 #7
ok tak
Avatar billede magoo20000 Nybegynder
20. marts 2003 - 17:53 #8
Nej.Nej.

Vector v = new Vector();
Iterator it = v.iterator();
int i = 0;
while(it.hasNext()){
  System.out.println((String)tilbehør.elementAt(i++));
}
Avatar billede magoo20000 Nybegynder
20. marts 2003 - 17:54 #9
Glemte lige at inkrementere i!
Avatar billede arne_v Ekspert
20. marts 2003 - 18:22 #10
Øh.

Bliver der ikke rodet en masse ting sammen her ?

Jeg vil mene der er 3 måder at udskrive en Vector på:

1)  direkte

        System.out.println(v);

2)  med almindelig for loop

        for(int i = 0; i < v.size(); i++) {
            System.out.println(v.get(i));
        }

3)  med iterator og while loop

        Iterator it = v.iterator();
        while(it.hasNext()) {
            System.out.println(it.next());
        }
Avatar billede simonvalter Praktikant
20. marts 2003 - 18:57 #11
jo jeg havde rodet rundt i det ;)

System.out.println(v); var hvad jeg ville have fat i .. men af en eller anden grund ville jeg have den på toString .. men jeg fandt ud af det.
Avatar billede arne_v Ekspert
20. marts 2003 - 19:01 #12
System.out.println(v);

kalder faktisk Vector's toString som igen kalder toString på de
objekter der er gemt i Vector'en, så det har faktisk lidt med toString at gøre.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester