我正在尝试创建一个程序,要求用户输入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。