這是我在這里的第一個問題,所以如果之前已經回答過這個問題,我深表歉意。我正在大學學習初學者回圈,并按照我的教科書撰寫數字猜測器。該代碼有效,但我不明白為什么在第 17 行我需要創建一個 int 并為其賦予 -1 的值。代碼截圖在這里。任何解釋都會很棒,謝謝!
uj5u.com熱心網友回復:
這只是為了保證回圈不會在第一次通過時退出。的while內部是條件的代碼之前評估。如果它已被初始化為 0 并且數字為 0,則里面的任何代碼while都不會被執行。考慮一下這部分代碼
int number = (int)(0 * 101) //Math.random() returned 0
int guess = 0;
while(guess != number) // while(0 != 0) this is always true so the while loop won't be executed
您不太可能讓這實際影響您的輸出,這是一種可能性,因此與其檢查是否number為 0,不如guess將其設定為保證至少執行一次 while 回圈的數字。
uj5u.com熱心網友回復:
您可以將變數 guess 初始化為任何整數。你只需要一個整數來將它與變數 number 進行比較。如果它不等于變數 number ,請隨意用任何整數替換它,因為它在 while 回圈中重新初始化。
uj5u.com熱心網友回復:
您將需要一個回圈來多次提問,直到答案正確為止。在回圈中,您可以在回圈開始或結束時測驗變數的值。如果在回圈開始時進行測驗,那么變數必須有一個值,否則程式將無法編譯。因此,要開始回圈,您必須給出任何肯定不是正確答案的值,例如任何負數或任何大于 100 的數字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/339612.html
