public static void main (String[] args) {
int input = 0;
// Creating our objects
Scanner console = new Scanner(System.in);
Math math = new Math();
System.out.println("Welcome to Spin Game!");
System.out.println("Please write '1' to spin, or -1 to exit.");
//The input the user wrote..
input = console.nextInt();
if (input == 1) {
int number = math.calculate(math.number());
if (number < 30)
{
System.out.println("You just won the game!");
}
else
{
System.out.println("You lost..");
}
}
}
什么:
基本上是旋转游戏,如果数字低于30,你就赢了,否则,你输了。 我想要的是,问题还在继续。你写'1',它会告诉你,如果你输了或赢了,然后再让你玩,而不是结束这个程序。
问题:
程序在写入'1'后才存在。 除非我重新开始这个节目,否则我不能再玩了。
为什么这样做?
我是Java的新手。
答案 0 :(得分:4)
将其更改为:
public static void main (String[] args) {
int input = 0;
// Creating our objects
Scanner console = new Scanner(System.in);
Math math = new Math();
System.out.println("Welcome to Spin Game!");
System.out.println("Please write '1' to spin, or -1 to exit.");
//The input the user wrote..
input = console.nextInt();
while(input == 1) {
int number = math.calculate(math.number());
if (number < 30)
{
System.out.println("You just won the game!");
}
else
{
System.out.println("You lost..");
}
input = console.nextInt();
}
}
这将循环过程!
第一个输入设置为0.
然后它会询问您要做什么(将输入设置为1或-1)。
如果将其设置为1,程序将进入循环并运行一次。在循环结束时,它将再次询问您要做什么(1或-1)。
如果输入为1,则循环将再次运行。然后就是这样。如果您愿意,可以在循环中System.out.println("Please write '1' to spin, or -1 to exit.");
之后添加input = console.nextInt();
。这将使文本出现在每个循环中。
答案 1 :(得分:1)
我在下面发布了工作代码。解决方案是,您希望程序重复执行,直到用户输入数字:-1。因此,虽然输入不等于-1,但我们希望程序继续运行。显然,我们希望它至少运行一次,因为我们初始化input=0;
的值,所以我们不必担心,因为它肯定会在第一次进入while循环。现在,如果用户输入-1,它将命中你的if(input==1)
并评估为false,因此再次检查while(input != -1)
条件,这次将返回false(因为它相等)和循环将打破并结束申请。
public static void main (String[] args) {
int input = 0;
// Creating our objects
Scanner console = new Scanner(System.in);
Math math = new Math();
while(input != -1)
{
System.out.println("Welcome to Spin Game!");
System.out.println("Please write '1' to spin, or -1 to exit.");
//The input the user wrote..
input = console.nextInt();
if (input == 1) {
int number = math.calculate(math.number());
if (number < 30)
{
System.out.println("You just won the game!");
}
else
{
System.out.println("You lost..");
}
}
}
}
答案 2 :(得分:1)
您需要添加while循环。
我还添加了逻辑来检查其他输入值。将验证添加到其他输入值将有助于捕获可能发生的任何逻辑错误。如果不添加,程序将循环任何输入值,而不仅仅是1
。
public static void main (String[] args) {
int input = 0;
// Creating our objects
Scanner console = new Scanner(System.in);
Math math = new Math();
System.out.println("Welcome to Spin Game!");
System.out.println("Please write '1' to spin, or -1 to exit.");
while(true){ //Infinite loop, i.e. execute until condition is false.
//The input the user wrote..
input = console.nextInt();
if (input == 1) {
int number = math.calculate(math.number());
if (number < 30)
{
System.out.println("You just won the game!");
}
else
{
System.out.println("You lost..");
}
} else if (input == -1){
break; //exit the loop, alternatively, add some exit text here
} else {
System.out.println("Please Enter 1 to spin, or -1 to exit.");
}
}
}
答案 3 :(得分:0)
这就是你想要的。
public static void main(String[] args)
{
int input = 0;
// Creating our objects
Scanner console = new Scanner(System. in );
Math math = new Math();
System.out.println("Welcome to Spin Game!");
System.out.println("Please write '1' to spin, or -1 to exit.");
//The input the user wrote..
input = console.nextInt();
boolean running = true;
while (running)
{
if (input == 1)
{
int number = math.calculate(math.number());
if (number < 30)
{
System.out.println("You just won the game!");
}
else
{
System.out.println("You lost..");
}
}
else if (input == -1)
{
running = false;
}
}
}
我所做的是添加一个新的布尔变量,在while循环中,我正在运行旋转游戏代码。当输入为-1时,变量running将设置为false并且游戏终止。