2014-01-17 3 views
0
import java.util.*; 
/* 
10,100,1000 intervals of 10 
App generates a number:unkown 
person enters a number 


Miguel Castaneda 
*/ 

class GenerateNumber{ 

public static void main(String args[]) 
throws java.io.IOException { 

int num; 

/* 
loopTimes = System.in.read(); //casted 
System.out.println("Loop Times is: " +loopTimes) 
*/ //one byte at a time gets read 


System.out.println("How many times do you want to loop?"); 
Scanner sc = new Scanner(System.in); 
int loopTimes = sc.nextInt();  //new scanner 

System.out.println("Loop Times is: " +loopTimes); 


System.out.println("What would be the max number to guess?"); 
//genearte random number named :randomNumber 

int maxNumber = sc.nextInt();  
Random generator = new Random(); 
int i = generator.nextInt(maxNumber); 


int guess = generator.nextInt(maxNumber); 
System.out.println("Random number is: " + i); 
System.out.println("Guess number is: " + guess); 

    while(i!=guess){ 
if(guess==i) 
System.out.println("Guess and Random are same"); 

guess = generator.nextInt(maxNumber);//guess until random and guess are same 
System.out.println("Guess number is: " + guess); //print out everytime guess and random arent the same 
counter++; 
} 



//loopTimes = System.in.read(); //casted 

//if(num==rand)System.out.println("Right"); 
//else System.out.println("Wrong"); 

}} 

Сколько раз вы хотите петли? Loop Times: 10 Каким будет максимальное число догадки? случайное число: 0 Угадай номер: 2 Номер Угадай: 4 количество Угадай: 5 количество Угадай: 6 количество Угадай: 0Угадайте случайное число, останавливается, когда случайный, и догадки такие же

---- jGRASP wedge2: выход код для процесса равен 0. ---- jGRASP: работа завершен. Я хочу, чтобы компьютер продолжал рандомизировать число до тех пор, пока не будет случайным, и догадайтесь, что я не хочу вводить числа. Код никогда не показывает, что линия «Угадай и случайная - это одна и та же», вместо этого просто продолжает рандомизировать догадки и оставляет случайным одно и то же. Как мне это изменить?

+6

нет петли –

+1

Посмотрите ключевое слово 'while' (или' 'for' и break') – Floris

+0

где находится петля !! –

ответ

0
int i; 
while(i< loopCount) { 
i++; 
System.out.println("Guess number " + i + ":"); 
    int userGuess = sc.nextInt(); 
    if (randomNumber == userGuess) { 
     System.out.print("Success Random number was " + randomNumber); 
     sc.close(); 
     break; 
    } else { 
     System.out.println("Keep Guessing!"); 
    } 

} 
sc.close(); 
if(i==loopTimes) 
System.out.println("Failed The number was " + randomNumber); 
2

Это должно делать то, что вы хотите, чтобы я думаю:

import java.util.*; 
/* 
10,100,1000 intervals of 10 
App generates a number:unkown 
person enters a number 
*/ 

class GenerateNumber { 

    public static void main(String args[]) 
    throws java.io.IOException { 

    int randomNumber; 
    int loopTimes; 

    /* 
    loopTimes = System.in.read(); //casted 
    System.out.println("Loop Times is: " +loopTimes) 
    */ //one byte at a time gets read 


    System.out.println("How many times do you want to loop?"); 
    Scanner sc = new Scanner(System.in); 
    loopTimes = sc.nextInt();  //new scanner 

    System.out.println("Loop Times is: " +loopTimes); 


    System.out.println("What would be the max number to guess?"); 

    int maxNumber = sc.nextInt();  
    Random generator = new Random(); 
    randomNumber = generator.nextInt(maxNumber); 

    for (int i=1;i<=loopTimes;i++) { 
     System.out.println("Guess number " + i + ":"); 
     int guess = sc.nextInt(); 
     if (randomNumber == guess) { 
      System.out.print("YOU WIN! Random number was " + randomNumber); 
      sc.close(); 
      System.exit(0); 
     } else { 
      System.out.println("Keep Guessing!"); 
     } 
    } 
    sc.close(); 
    System.out.println("SORRY! YOU LOSE! The number was " + randomNumber); 
    } 
} 
+0

идеальный ответ. –

+0

Спасибо @ShakeebAyaz, было забавно писать –

+0

Забавно, что я тоже написал ans всего за 20 секунд до и с той же логикой .. –

Смежные вопросы