Java - Ugani stevilo - pomoč
2 naročnika
2 naročnika
Pozdravljeni,
Potrebujem pomoč pri naslednjemu programu,
bi mi lahko kdo povedal kako naj naredim, da ko zmagaš igro, te vpraša, če želiš nadaljevati ter če odgovoriš "Da", da se ponovno vse zažene?"
Spodaj je koda:
import static java.lang.System.out;
import java.util.Scanner;
import java.util.Random;
public class UganiStevilo {
public static void main(String args[]) {
Scanner keyboard = new Scanner(System.in);
int numGuesses = 0;
int randomNumber = new Random().nextInt(5) + 1;
System.out.println(" *************** ");
System.out.println(" *UGANI STEVILO*");
System.out.println(" *************** ");
System.out.println();
System.out.print("Vnesi število od 1 do 5: ");
int inputNumber = keyboard.nextInt();
numGuesses++;
while (inputNumber != randomNumber) {
System.out.println();
System.out.println("Poiskusi ponovno");
System.out.print("Vnesi število od 1 do 5: ");
inputNumber = keyboard.nextInt();
numGuesses++;
}
if (inputNumber == randomNumber) {
System.out.print("Zmaga! Zmagal si v ");
System.out.println(numGuesses + " poiskusu.");
System.out.println("");
}
System.out.println("Želiš igrati ponovno? Da= 1 Ne= 0");
inputNumber = keyboard.nextInt();
if (inputNumber == 1) {
}
}
3 odgovori
import static java.lang.System.out;
import java.util.Scanner;
import java.util.Random;
public class UganiStevilo {
public static void main(String args[]) {
Scanner keyboard = new Scanner(System.in);
do {
int numGuesses = 0;
int randomNumber = new Random().nextInt(5) + 1;
System.out.println(" *************** ");
System.out.println(" *UGANI STEVILO*");
System.out.println(" *************** ");
System.out.println();
System.out.print("Vnesi število od 1 do 5: ");
int inputNumber = keyboard.nextInt();
numGuesses++;
while (inputNumber != randomNumber) {
System.out.println();
System.out.println("Poiskusi ponovno");
System.out.print("Vnesi število od 1 do 5: ");
inputNumber = keyboard.nextInt();
numGuesses++;
}
System.out.print("Zmaga! Zmagal si v " + numGuesses + " poiskusu.\n");
System.out.println("Želiš igrati ponovno? Da=1 Ne= 0");
inputNumber = keyboard.nextInt();
} while (inputNumber == 1);
}
Hvala, ampak žal mi ne deluje tole...
Imaš na ZS navodila kaj rabim storiti, če narediš imaš pivo v dobrem na obali, ko bo čas :)
*A. Program naj samodejno izbira naključna števila iz obsega celih števil od 1 do 5, uporabnik pa
skuša število uganiti:
če ga ugane, se izpiše ustrezno obvestilo (npr. "BRAVO!"), nato ugibamo naslednje število,
če ga ne ugane, se izpiše ustrezno obvestilo, pa tudi "pravo" število, nato ugibamo naslednje
število,
ugibanje se konča takrat, ko uporabnik (namesto ugibanja) vpiše število 0. Ta vnos seveda NE
šteje v statistiko.
na koncu se izpiše statistika (število vseh poskusov,
število uspelih in neuspelih poskusov in odstotek
"uspešnih" poskusov).
Če mi pomagaš to narediti, imaš pivo v dobrem na obali :D*
Pripravi pivo :-)
import java.util.Scanner;
import java.util.Random;
public class UganiStevilo {
public static void main(String args[]) {
int correctGuesses = 0;
int incorrectGuesses = 0;
Scanner keyboard = new Scanner(System.in);
Random randomStream = new Random();
System.out.println(" ************************** ");
System.out.println(" *IGRAJMO SE UGANI STEVILO* ");
System.out.println(" ************************** ");
System.out.println("\nZa izhod iz igre vnesi stevilo 0.\n");
do {
int randomNumber = randomStream.nextInt(5) + 1;
System.out.print("Ugani število od 1 do 5: ");
int inputNumber = keyboard.nextInt();
// vneseno stevilo 0 pomeni izhod
if (inputNumber == 0) {
break;
}
if (inputNumber == randomNumber) {
System.out.println("\nBRAVO!");
correctGuesses++;
} else {
System.out.println("Poiskusi ponovno. Pravilno stevilo je bilo "+randomNumber);
incorrectGuesses++;
}
} while (true);
System.out.println("\nIGRE JE KONEC. STATISTIKA:");
System.out.println("\tStevilo zmag: "+correctGuesses);
System.out.println("\tStevilo porazov: "+incorrectGuesses);
System.out.println("\tOdstotek uspesnosti: "+Math.round(((double)correctGuesses/(correctGuesses+incorrectGuesses))*100)) ;
}
}