我遇到了输入验证码的问题。我输入我的种子值,它会提示我,但之后我必须输入另一个有效的输入,才能打印出我的菜单选项。每当我也选择其中一个菜单选项时,就会发生这种情况。Java输入需要两次
输入验证应该取1到5之间的整数值。所以如果有人在字母,负数或不在范围内的整数,它会要求他们放置一个,以便他们可以继续菜单选择。
我写错了代码吗?我想摆脱那些不必要的第二个输入,只需要一个就可以继续比赛。由于某种原因,我在10次作品后也会注意到这些值,尽管6-9被视为无效。我不知道为什么这是有效的。谢谢!
import java.util.Random;
import java.util.Scanner;
public class Sonowah
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Please enter a seed value [integer]: ");
//assume input is integer for seed for RNG
int seed = in.nextInt();
Random rng = new Random(seed); //RNG
int charge = 100;
//loop here
while (charge > 0)
{
int number;
do
{
while (!in.hasNextInt(5))
{
System.out.println("Please enter valid interger");
in.next();
}
number = in.nextInt();
}
while (number <= 0);
System.out.println("Interger is valid!");
System.out.println("1. Surrender");
System.out.println("2. Defend");
System.out.println("3. Fight");
System.out.println("4. Charge");
System.out.println("5. Potions");
String menuchoice = in.next();
if (menuchoice.equals("1"))
{
statement
}
'main'的其余部分在哪里? – 2012-10-05 22:30:04
发布代码时,有助于发布整个文件/类,以便我们提供更多的答案。 – Lipongo
OP发布了足够的信息。其实太多了! –