【发布时间】:2013-11-17 19:48:27
【问题描述】:
我正在尝试使用 do while 循环,如果用户对“你想继续”回答是,则该循环将终止如果我在控制台中回答 true,则循环正常运行,但是,我想告诉用户输入是或否。因此,我搜索了有关如何将字符串值分配给 boolean 值为 true 的信息,但我的代码无法正常工作。有人可以告诉我正确的语法吗?
boolean wantsToContinue=String.equalsIgnoreCase("yes");
do{
rollOne=diceOne.roll();
rollTwo=diceTwo.roll();
rollTotal=rollOne+rollTwo;
//BoardSquare thePlayer.setLocation(square[]);
Scanner keyboard=new Scanner(System.in);
System.out.println("Do you want to continue:");
wantsToContinue = keyboard.nextBoolean();
} while (thePlayer.getBalance()>0 && wantsToContinue);
当我以这种方式设置它时,我得到非静态方法无法从静态上下文中引用。我需要避免为此逻辑使用单独的方法或对象。
【问题讨论】:
-
搜索
non static method cannot be referenced from a static context. -
你希望用第一行代码实现什么?类似的东西不属于循环内部,而不是外部吗?你应该写什么而不是那里的“String”?
-
我有。但是我发现的一切都涉及创建一个对象的实例,我需要在分配范围内避免。无论如何谢谢。
-
@DavidWallace 我收到一条消息“从未使用过分配的值”,但是,如果我尝试在 do while 循环中移动布尔变量赋值,则无法访问 wantToContinue。此外,我尝试将 String 更改为 Boolean,但这也不起作用。我不确定你是不是这个意思。
-
您不想在扫描仪上使用
nextBoolean(),因为nextBoolean()总是需要true或false。您想使用返回String的方法 -next()或nextLine(),以便您可以检查String的实际含义。那么,一旦你得到了String,你将如何处理它?equalIgnoreCase适合在哪里?
标签: java string boolean do-while