让旋转程序重复?

时间:2013-06-24 15:22:07

标签: java

   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的新手。

4 个答案:

答案 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();
        }
    }

这将循环过程!

  1. 第一个输入设置为0.

  2. 然后它会询问您要做什么(将输入设置为1或-1)。

  3. 如果将其设置为1,程序将进入循环并运行一次。在循环结束时,它将再次询问您要做什么(1或-1)。

  4. 如果输入为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并且游戏终止。