Gætte program fra javabog.dk

Tags:    java

Hej.

Opgaven går ud på at lave et program som tager et tilfældigt tal mellem 1 og 20, og så skal det gættes, ved "højere / lavere".

Fold kodeboks ind/udKode 


Har jeg lavet det rigtigt? - når jeg kører programmet bliver den "blank" hver anden/tredje gang jeg indtaster nyt gæt.

Og hvordan får jeg tilftal til at være et tilfældigt tal mellem 1 og 20? Den har jeg ikke fanget endnu.



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Jeg ved at tråden er gammel, men her er min løsning.

Jeg sad selv og søgte efter hjælp til det program, men kunne ikke umiddelbart finde en løsning da jeg havde problemer - så her er min løsning:

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 03.05.2010 09:13 af Bruger #15869
Har 2 spøgsmål til din løsning:

1. Er det nødvendigt at lave et nyt objekt af din scanner for hver iteration af løkken eller kunne du oprette et objekt ude af løkken og bruge dette inde i løkken.


2. Kan du se nogen som helst mulighed for at x>y eller x==y er sande, hvis du lige har verificeret at x<y er sand, hvis ikke så har en if sætning en mulig else blok eller evt. har en løkke en continue statement.


Helt generelt bør man aldrig, synes jeg, teste for noget der aldrig kan lade sig gøre.

Som f.eks.
Fold kodeboks ind/udKode 


Hvis bare en af de ovenstående test er sand vil de 2 andre altid være falske ergo spilder du cpu på at teste dem så:
Fold kodeboks ind/udKode 


Et andet eksempel er at når du tester på to ting i samme if sætning og den ene af disse er den samme i alle if sætninger:

Fold kodeboks ind/udKode 


Der kan man tage den ens del af testen udtil en overordnet if sætning:
Fold kodeboks ind/udKode 





Til det tilfældige tal kan du bruge Math.random ganget med 20 (i dit tilfælde). Så runde den af med Math.round.



Svare er nej du har ikke lavet det rigtigt.

Et hint ville være kun at have user input et sted i koden.



t