我很難從一本書中的練習中瞭解一些東西(完整的初學者)。Java:變量持有者及其值?
示例代碼是用三個玩家進行猜謎遊戲,它爲所有三個玩家生成一個隨機int,它必須與遊戲中隨機生成的int相同。
該代碼包含三個類,但這是我有一個問題的最重要的一個。另外兩個是GameLauncher類和Player(與其他三個玩家對戰)的類。
public class GuessGame {
Player p1;
Player p2;
Player p3;
public void startGame(){
p1 = new Player();
p2 = new Player();
p3 = new Player();
int guessp1 = 10;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targetNumber = (int) (Math.random() * 10);
System.out.println("I'm thinking of a number between 0 and 9...");
while(true){
System.out.println("Number to guess is "+targetNumber);
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("Player one has guessed " + guessp1);
guessp2 = p2.number;
System.out.println("Player two has guessed " + guessp2);
guessp3 = p3.number;
System.out.println("Player three has guessed " + guessp3);
if (guessp1 == targetNumber) {
p1isRight = true;
}if (guessp2 == targetNumber){
p2isRight=true;
}if (guessp3 == targetNumber){
p3isRight=true;
}
if (p1isRight||p2isRight||p3isRight){
System.out.println("We have a winner!");
System.out.println("Player one got it right? " + p1isRight);
System.out.println("Player two got it right?" + p2isRight);
System.out.println("Player three got it right? " + p3isRight);
System.out.println("The game is over.");
break;
}else{
System.out.println("None of you got it right! Try again!");
}
}
}
}
從上面的代碼:
int guessp1 = 10;
int guessp2 = 0;
int guessp3 = 0;
是一個,我不明白。最初,他們都被賦值爲0.我試圖分配10來看看會發生什麼,但沒有任何變化。遊戲的效果也一樣。
我的問題是,如果有的話,賦值給一個聲明的整數的值有什麼意義?特別是在這種情況下。
不包括像打印它或用數學操作它等正常使用。
哦,所以一旦我用p1.number創建的數字覆蓋它們,原始值就會丟失它的所有值,並且僅用於執行打印命令? – LearnIT
好吧,所以我只是嘗試和 \t \t \t System.out.println(「玩家一猜到了」+ p1.number); 工作原理是一樣的,沒有 guesspp1.number; 但是,你在說什麼,這使我無法驗證是否有輸入? – LearnIT
您可以將guessp1設置爲-1,並在行之間檢查是否(guessp1!= -1)這意味着分配了一個值。 – CloudyMarble