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