Avatar billede machholdt Nybegynder
11. september 2007 - 13:54 Der er 2 kommentarer og
1 løsning

Noob problem

Er ved at forsøge mig med java. (javabog.dk) Og er kommet til en opgave som lyder:
Lav spillet "Gæt hvilket tal jeg tænker på": Lav et program, der husker et tal fra 1 til 20, som brugeren skal gætte. Her er et forslag til dialogen med brugeren:
        //Gæt et tal: 8
        //Tallet jeg tænker på er højere.
        //Gæt et tal: 13
        //Tallet jeg tænker på er lavere.
        //Gæt et tal: 11
        //Det er det rigtige tal! Du brugte 3 forsøg.
        //Vink: Et tilfældigt tal mellem 1 og 20 kan fås med (int) (Math.random()*20 + 1)

Min kode er nederst men er gået i stå. Forstår ikke hvordan man laver betingelsen: indtastet tal > < tilfældigt tal.
Er der nogen der kan hjælpe?
package gæt;

public class Gæt {

    public static void main(String[] args)
    {
        java.util.Scanner tastatur = new java.util.Scanner(System.in);
        int tilfældigtTal = (int) (Math.random()*20 + 1);
        int gættetal;
            System.out.println("Gæt et tal og tryk enter");
        for
            (gættetal = tastatur.nextInt();gættetal < tilfældigtTal;System.out.print("Du er for lavt"))
            if (tilfældigtTal == gættetal) System.out.print("Tillykke du ramte rigtigt");

    }

}
Avatar billede kennethjohnsen Nybegynder
11. september 2007 - 14:16 #1
Det kunne laves som nedenstående. While-løkken beskrives i afsnit 2.5.1.

Mvh. Kenneth.



public class Gæt {

    public static void main(String[] args)
    {
        java.util.Scanner tastatur = new java.util.Scanner(System.in);
        int tilfældigtTal = (int) (Math.random()*20 + 1);
        int gættetal = 0;
       
        while ( gættetal != tilfældigtTal)
        {
            System.out.println("Gæt et tal og tryk enter");
            gættetal = tastatur.nextInt();
            if(gættetal < tilfældigtTal){
                System.out.println("Du er for lavt");
            }
            if(gættetal > tilfældigtTal){
                System.out.println("Du er for højt");
            }
        }

        System.out.print("Tillykke du ramte rigtigt");

    }

}
Avatar billede machholdt Nybegynder
11. september 2007 - 14:29 #2
Hmm.. Okay. Tak for hurtigt svar.

Har lige et side spørgsmål.

Hvordan får jeg den så til at tælle antal forsøg?
Avatar billede kennethjohnsen Nybegynder
11. september 2007 - 22:39 #3
Indfør en variabel som du tæller op inde i while-løkken.

Mvh. Kenneth.


public class Gæt {

    public static void main(String[] args)
    {
        java.util.Scanner tastatur = new java.util.Scanner(System.in);
        int tilfældigtTal = (int) (Math.random()*20 + 1);
        int gættetal = 0;
        int antalForsøg = 0;
       
        while ( gættetal != tilfældigtTal)
        {
            antalForsøg++;
            System.out.println("Gæt et tal og tryk enter");
            gættetal = tastatur.nextInt();
            if(gættetal < tilfældigtTal){
                System.out.println("Du er for lavt");
            }
            if(gættetal > tilfældigtTal){
                System.out.println("Du er for højt");
            }
        }

        System.out.println("Tillykke du ramte rigtigt");

        System.out.println("Du brugte " + antalForsøg + " forsøg");
    }

}
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