如何删除扫描程序中用户输入的值并让它们重新输入值(Java)

时间:2018-03-29 00:52:40

标签: java netbeans java.util.scanner

我正在尝试创建一个程序,要求用户输入25到100之间的猜测。我必须使用if条件和Scanner。到目前为止,代码生成随机数并要求用户输入猜测。所有这一切都有效,直到我尝试制作它,以便在一定时间后,猜测从控制台窗口上的位置被删除。我希望允许用户在完全相同的位置重新输入而不会丢失旧值。我的程序中存在一个逻辑错误,在您输入值之后,它只是转到下一行而不告诉用户它们是否在行的上方或下方。

我在网上发现你可以使用\b,但事实是在用户点击回车后光标移动到下一行。

public static void main(String[] args) throws InterruptedException {
    Random num1 = new Random();
    int randomValue = num1.nextInt((100 - 25 + 1) + 25);

    System.out.println("-------Guessing Game-------- \n");
    Thread.sleep(1000);

    System.out.println("Instructions: Guess a number between 25 and 100 in the least amount of tries\n");

    System.out.println("Guess Below: ");
    Scanner scUser = new Scanner(System.in);

    int Number = scUser.nextInt();

    if (Number == randomValue) {
        JOptionPane.showMessageDialog(null, "You got it right!");

    } else if (Number > randomValue) {
        JOptionPane.showMessageDialog(null, "Too high!");
        Thread.sleep(3000);
        System.out.println("\b\b\b");

    } else if (Number < randomValue) {
        JOptionPane.showMessageDialog(null, "Too low!");
        Thread.sleep(3000);
        System.out.println("\b\b\b");

    } else {
        JOptionPane.showMessageDialog(null, "Please put in a value between 25 and 100");

    }

}

输出结果如下:

  

-------猜猜游戏--------
  说明:在最少的尝试次数中猜测25到100之间的数字   猜猜如下:
  50

但是,消息框不会显示\b\b在用户点击后不会删除50。

0 个答案:

没有答案