簡體   English   中英

在數組循環中初始化掃描器值

[英]initializing scanner values in a loop to an array

我創建了一個游戲,用戶猜測一個隨機數字,該數字是0-100。 如果他們的猜測過高,則系統會告訴他們猜測更高,如果他們的猜測低於實際數字,則系統會告訴他們。 但是,我需要按照輸入的順序將每個猜測初始化為一個數組。 我知道如何初始化數組,但是我需要幫助將玩家的猜測存儲到數組中。 這是我的代碼,感謝您的幫助/建議!

public static void randomNumGame(){
    // begin of method

    Scanner numbers = new Scanner(System.in);
    Random randomGenerator = new Random();
    int[] guess;
    guess = new int[6];
    guess[0]=0;
    guess[1]=0;
    guess[2]=0;
    guess[3]=0;
    guess[4]=0;
    guess[5]=0;

    System.out.println("running ...");
    int thisRandomInt = randomGenerator.nextInt(100);
    int attempt = 0;
    boolean done = false;

    while(!done){
        System.out.print("Guess a number from 0 to 100 : ");

        int myGuess = numbers.nextInt();
        attempt++;

        if(myGuess == thisRandomInt && attempt <= guess.length){
            done = true;
            System.out.println("You won. It took " + attempt+ " times to guess my number.");
        }else if (attempt >= guess.length){
            System.out.println("Game Over. My number is "+thisRandomInt );
            done = true;
        }else if (myGuess < thisRandomInt){
            System.out.println("Guess a higher number");
        }else{
            System.out.println("Guess a lower number");
        }
    }
}// end of method
if(myGuess == thisRandomInt && attempt <= guess.length){
    done = true;
    System.out.println("You won. It took " + attempt+ " times to guess my number.");
}else if (attempt >= guess.length){
    System.out.println("Game Over. My number is "+thisRandomInt );
    done = true;
}else if (myGuess < thisRandomInt){
    guess[attempt-1] = myGuess;
    System.out.println("Guess a higher number");
}else{
    guess[attempt-1] = myGuess;
    System.out.println("Guess a lower number");
}

您無需使用零顯式初始化您的任務數組。 除此之外,您可以執行以下操作:

    System.out.print("Guess a number from 0 to 100 : ");

    int myGuess = numbers.nextInt();
    guess[attempt++] = myGuess;

此外,除了done標志之外,您可以調用break而不是將標志聲明為true -它會跳過循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM