0
所以我創建了一個遊戲,比較兩個數字,humanChose
和roomChose
。我有一個聲明,如果比較兩個數字,如果數字不匹配,控制檯打印出「這是不對的!」。如果數字匹配,則打印出「你是對的!」。無論您打到什麼數字鍵humanChose
成爲。例如,如果你打了3個關鍵humanChose
變得3.對於一些奇怪的原因,如果我按3和roomChose
是2還在說我是正確的無論什麼。任何方式我可以更改我的代碼,以便它比較數字嗎?提前致謝。的Java int值進行比較,但沒有作出正確的比較
檢查類代碼:
public class SeeIfRight {
public void seeIfRight(){
Pick p = new Pick();
GameStateManager gsm = new GameStateManager();
MapStateChoose msc = new MapStateChoose(gsm);
if(p.roomChosen == msc.humanChose){
System.out.println("You're right!!!");
}
if(p.roomChosen != msc.humanChose){
System.out.println("You're wrong!!!");
}
}
}
數確定代碼:
public class MapStateChoose {
private void select1() throws InterruptedException {
humanChose = 1;
si.seeIfRight();
}
public void keyPressed(int k) throws InterruptedException {
if(k == KeyEvent.VK_1){
select1();
}
if(k == KeyEvent.VK_2){
select2();
}
if(k == KeyEvent.VK_3){
select3();
}
if(k == KeyEvent.VK_4){
select4();
}
if(k == KeyEvent.VK_5){
select5();
}
}
private void select5() {
// TODO Auto-generated method stub
humanChose = 5;
si.seeIfRight();
}
private void select4() {
// TODO Auto-generated method stub
humanChose = 4;
si.seeIfRight();
}
private void select3() {
// TODO Auto-generated method stub
humanChose = 3;
si.seeIfRight();
}
private void select2() {
// TODO Auto-generated method stub
humanChose = 2;
si.seeIfRight();
}
匹克類:
public class Pick {
public int roomChosen;
public void pickRoom(Random rand){
int room = rand.nextInt(99);
System.out.println(room);
if(room < 31){
roomChosen = 1;
System.out.println("Treasure has been hidden in the Great Hall!");
}
if(room ==31){
roomChosen = 2;
System.out.println("Treasure has been hidden in the Library!");
}
if(room > 31 && room < 46){
roomChosen = 2;
System.out.println("Treasure has been hidden in the Library!");
}
if(room == 46){
roomChosen = 3;
System.out.println("Treasure has been hidden in the Den!");
}
if(room > 46 && room < 52){
roomChosen = 3;
System.out.println("Treasure has been hidden in the Den!");
}
if(room == 52){
roomChosen = 4;
System.out.println("Treasure has been hidden in the Dining Hall!");
}
if(room > 52 && room < 80){
roomChosen = 4;
System.out.println("Treasure has been hidden in the Dining Hall!");
}
if(room> 79){
roomChosen = 5;
System.out.println("Treasure has been hidden in the Front Hall!");
}
}
}
你得到了「你發現了寶藏」的消息多次對不同的房間? – Zymus
是的。 「無論您點擊哪個房間,您都能找到寶藏。」 – Ethan
這是因爲你沒有使用,如果其他人。多個條件返回true。 – Zymus