簡體   English   中英

while循環在每次迭代后不更新i

[英]while loop not updating i after each iteration

    while (var<10)  
        {

        String line=keyboard.nextLine();
        input = line.charAt(0);

        game.makeGuess(input);
        game.getDisguisedWord();
        game.isFound();
        System.out.println(game.getDisguisedWord());
        System.out.println(game);
        System.out.println(game.getWrong());
        int i=0;
        i++;
        if (var<i+game.getDisguisedWord().length()-1)
            System.out.print("Guess #" + game.guessCount()+": ");
        var=game.getWrong();
        if (game.isFound())
            var=10;
    }

不確定是什么問題,但如果我打印出來,它只是停留在1.我需要這樣做才能得到停止打印的東西:(

int i=0是錯誤。 它在每次迭代中將i初始化為0,因此在i++的下一步中你的i值保持為1。 要僅將其初始化一次,請將其置於while循環之外。

你需要把

int i = 0; 

在...之上

    while (var<10)  
        {

這是因為你每次循環時調用'i'變量,然后使用i ++,它將始終為'1'。 因此不會將其保存為下一個循環。

您正在每次迭代中初始化i。

int i = 0;

在循環之前必須在循環體之外。 這也是有道理的

String line = keyboard.nextLine();

在循環體之外也是如此。 'line'也不需要在每次迭代中初始化。

在你的代碼中, i將被視為一個局部變量,每次循環完成一次迭代, i將被銷毀。

在下一次迭代中, i將被創建並初始化為0.您需要在while循環之外初始化此變量。

暫無
暫無

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

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