Avatar billede ahlqvist Praktikant
05. december 2002 - 10:26 Der er 6 kommentarer og
1 løsning

JAVA - arrayList

Hej jeg kan ikke få dette lille stykke kode til at virke! Jeg har også et forståelsesproblem med hvad fanden return er for noget?

import java.util.*;


class VarTekst
{

    private String tekst;
    public String VarTekst(String getTekst)
    {
        return getTekst;

    }

public String tilføjTekst()
    {
        ArrayList tekst = new ArrayList();

        tekst.add ("ja");
        tekst.add ("i orden");
        tekst.add ("ok");
    }


public Object getTekst()
    {
        Random t= new Random();

        return tekst.get(t.nextInt(tekst.size()));
    }
}
Avatar billede arne_v Ekspert
05. december 2002 - 10:31 #1
return betyder bare "returner fra metode med denne værdi".

Nu skriver du ikke hvilken fejl du har, men jeg vil tro at:

class VarTekst
{

    private ArrayList tekst = null;

    public VarTekst()
    {
    }

    public void tilføjTekst()
    {
        tekst = new ArrayList();

        tekst.add ("ja");
        tekst.add ("i orden");
        tekst.add ("ok");
    }


    public String getTekst()
    {
        Random t= new Random();

        return (String)tekst.get(t.nextInt(tekst.size()));
    }
}

er et skridt i den rigtige retning !
Avatar billede disky Nybegynder
05. december 2002 - 10:31 #2
return bruges til at returner en variable fra en metode

i din VarTekst() blvier den text du sender til metoden returneret igen, uden der er blevet ændret på den.

i getTekst, bliver en af de text stumper som er i din arraylist returneret, forudsat du ændre lidt på den.
Det returneres som et Object som du så kan typecast til en String
ret til:

import java.util.*;

class VarTekst
{

    private ArrayList tekst;
    public String VarTekst(String getTekst)
    {
        return getTekst;

    }

public String tilføjTekst()
    {
        tekst = new ArrayList();

        tekst.add ("ja");
        tekst.add ("i orden");
        tekst.add ("ok");
    }


public Object getTekst()
    {
        Random t= new Random();

        return tekst.get(t.nextInt(tekst.size()));
    }
}
Avatar billede carstenknudsen Nybegynder
05. december 2002 - 10:32 #3
Det du ønsker at gøre er formentlig som følger:

import java.util.*;


class VarTekst
{

    private List tekst;
    public VarTekst(String getTekst)
    {
    tekst = new ArrayList();
    tekst.add( getTekst );
    }

public void tilføjTekst()
    {
     
        tekst.add ("ja");
        tekst.add ("i orden");
        tekst.add ("ok");
    }


public Object getTekst()
    {
        Random t= new Random();

        return tekst.get(t.nextInt(tekst.size()));
    }
}
Avatar billede di8leva Nybegynder
05. december 2002 - 10:32 #4
børja med att rename:a tilføjTekst til tilfojTekst

return .... er det som skall returneras fra metoden till den der kaller metoden...

hvis der stadvek er fejl er det godt hvis vi får se fejl-meddelanden..
Avatar billede dannymoeller Nybegynder
05. december 2002 - 10:36 #5
return er den værdi eller objekt der skal returneres til den der lavede metode-kaldet.

dvs. i dit tilfælde:

public String VarTekst(String getTekst)  // String er typen der skal returneres
    {
        return getTekst;  // her returnerer du en tekst (Som også er et objekt)

    }
public Object getTekst() der skal returneres et objekt
    {
        Random t= new Random();

        return tekst.get(t.nextInt(tekst.size()));  // du returnerer en streng(også et objekt, men du skal huske at type-caste den)
    }
Avatar billede arne_v Ekspert
05. december 2002 - 11:30 #6
disk og danny>

class VarTekst
      ^^^^^^^^
    public String VarTekst(String getTekst)
          ^^^^^^^^^^^^^^^
Avatar billede dannymoeller Nybegynder
05. december 2002 - 11:32 #7
Okay overset i farten at klasse-navn og metodenavn er det samme
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