Avatar billede gigabooster Nybegynder
23. maj 2002 - 16:04 Der er 8 kommentarer og
1 løsning

do while

hvorfor kan dette ikke køre? vil have løkken til at køre så længe jeg ikke har skrevet luk.

//Bruges til input og output fra keybord
import java.io.*;

class stream1 {


    //Konstruktøren
    stream1 () throws IOException{

        navn();

        //System.out.println("What's your name? ");
        //String name = in.readLine();
        //System.out.println("Hej med dig" + " " + name);

    }

    void navn () throws IOException {
        BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
            do {
                System.out.println("What's your name? ");
                String name = in.readLine();
            if (name == "Kenneth") {
                System.out.println("Hej med dig" + " " + name);
            }
            else {
                System.out.println("Du har tastet forkert prøv igen");
            }
        } while (name != "luk");
    }


    public static void main (String [] args) throws IOException {
        new stream1();
    }
}

håber nogle kan hjælpe
Avatar billede soreno Praktikant
23. maj 2002 - 16:09 #1
while (!name.equals("luk"));
Avatar billede bearhugx Nybegynder
23. maj 2002 - 16:10 #2
SVAR :
while ( !name.equals("luk") );

/Søren
Avatar billede bearhugx Nybegynder
23. maj 2002 - 16:12 #3
Da man ikke kan sammenligne indholdet i strings med ==-operator, skal man bruge String'ens .equals() metode for at foretage sammenligning.

/Søren

Soreno >> Æv, selv hvis man venter med en forklaring, og _kun_ skriver svaret i sin første besked, for så at putte en forklaring på bagefter, så bliver man alligevel aldrig den første :-)

/Søren
Avatar billede gigabooster Nybegynder
23. maj 2002 - 16:17 #4
nu har jeg følgende kode, men den melder stadig fejl!!!!

//Bruges til input og output fra keybord
import java.io.*;

class stream1 {


    //Konstruktøren
    stream1 () throws IOException{

        navn();

        //System.out.println("What's your name? ");
        //String name = in.readLine();
        //System.out.println("Hej med dig" + " " + name);

    }

    void navn () throws IOException {
        BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
            do {
                System.out.println("What's your name? ");
                String name = in.readLine();
            if (name == "Kenneth") {
                System.out.println("Hej med dig" + " " + name);
            }
            else {
                System.out.println("Du har tastet forkert prøv igen");
            }
        //Her lukker programmet, og der kan ikke bruges == da det er strings men bruger istedet .equals
        } while (!name.equals("luk"));
    }


    public static void main (String [] args) throws IOException {
        new stream1();
    }
}

hjælp igen!
Avatar billede bearhugx Nybegynder
23. maj 2002 - 16:18 #5
f.eks.

if (name == "Kenneth") { <<-- forkert !

if (name.equals("Kenneth")) { <<-- Rigtig

/Søren
Avatar billede bearhugx Nybegynder
23. maj 2002 - 16:23 #6
men derudover også at Stringen "name" bliver defineret inden i do-while scopen ... dvs. at du ikke kan teste på den i while-sætningen...

Løsning : flyt name-variablen ud af do-while-løkken
Avatar billede bearhugx Nybegynder
23. maj 2002 - 16:25 #7
Som vises i følgende eksempel :

    void navn() throws IOException
    {
        BufferedReader in = new BufferedReader( new InputStreamReader(System.in));
        String respons;
        do {
            ....
        } while( !respons.equals("luk") );
    }
Avatar billede bearhugx Nybegynder
28. maj 2002 - 14:47 #8
Fik du svar på dit spørgsmål, Gigabooster ?
Avatar billede bearhugx Nybegynder
19. juni 2002 - 02:56 #9
Jeg håber, at der snart bliver givet points, Gigabooster, så dette spørgsmål kan lukkes...

/Søren Munk Skrøder
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