从扫描仪获取输入后程序停止

我正在研究我在大学期间编写的一些旧 Java 程序,并且我正在尝试让其中一个工作。这基本上是一个游戏,你必须猜测一个从 0 到 9 的随机数。你有 3 次机会,如果你 3 次都猜错了,你就输了。问题是,在用户第一次通过扫描仪提供号码后,程序就停止了。这是代码:


import java.util.Scanner;

import java.util.Random;

import javax.swing.JOptionPane;


public class homework

{

    public static void main (String [] args)

    {

        int secret;

        Random generator = new Random();


    JOptionPane.showMessageDialog(null,"Let us begin\n");


    secret = generator.nextInt(11);

    if (secret > 9)

    {

        secret = secret-10;

    }


    JOptionPane.showInputDialog ("Enter a number between 0 and 9. You have three tries.");


    guessTheNumber(secret);



}


public static void guessTheNumber(int secret) {


    int guess;

    Scanner sc = new Scanner(System.in);


    for (int chance = 0; chance < 4; chance++) {

        guess = sc.nextInt();

        if (guess == secret)

        {

            JOptionPane.showMessageDialog(null, "Correct! You WIN!");

            sc.close();

            System.exit(1);


        }

        if (guess < secret)

        {

            JOptionPane.showMessageDialog(null, "Too low!");

        }


        if (guess > secret)

        {

            JOptionPane.showMessageDialog(null, "Too high!");

        }


    }


    JOptionPane.showMessageDialog(null, "Sorry! You LOSE!");

    sc.close();

    System.exit(1);

}

}


如果有人可以帮助我解决这个问题,我将不胜感激。谢谢你。


catspeake
浏览 139回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java