gpt4 book ai didi

java - 使用 Java System.in 作为继续键

转载 作者:行者123 更新时间:2023-12-01 13:09:17 25 4
gpt4 key购买 nike

首先抱歉,如果标题不够清楚,但英语不是我的主要语言,所以有点难以解释自己。

我制作了一个简单的程序,要求您按 Enter 键,以便它继续执行代码,在我的情况下,计数到 60 秒,然后等待另一个 Enter 键,问题是有时它会出现错误并继续,就像您在按下 Enter 键时一样你没有(可能是因为在 Enter 键之前不小心按下了另一个字符)。

这是代码片段,我使用 System.in.read() 因为我在这里读到它对于我想做的事情来说是一个不错的选择,但我对 Scanner 更有经验。

public static void cuentaSeries(int n) throws Exception {
System.out.println("------------------------------");
int aux = 1;
while(aux<=n) {
System.out.print("Serie Nº" +aux +" []");
System.in.read();
System.out.println("Serie Nº" +aux +" [X]");
cuenta();
aux++;
}
System.out.println("------------------------------");
}

public static void cuenta() throws Exception {
int contador = 0;
System.out.print("0 ");
while(contador<60) {
Thread.sleep(1000);
contador++;
if(contador%5==0) System.out.print(contador +" ");
if(contador==60) System.out.println("");
}
}

谢谢。

最佳答案

问题来自以下行:

System.in.read();

请参阅documentation上面写着:

Reads the next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255.

您不是在检查回车键,而是在检查任何单个字符。考虑一下您是否收到输入“hello”。 System.in.read() 将首先读取“h”,然后读取“l”等。要解决此问题,您需要切换到使用 nextLine()。
试试这个:

   Scanner scan = new Scanner(System.in);
int aux = 1;
while(aux<=n) {
System.out.print("Serie Nº" +aux +" []");
scan.nextLine();
System.out.println("Serie Nº" +aux +" [X]");
cuenta();
aux++;
}

import java.util.Scanner

关于java - 使用 Java System.in 作为继续键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23021523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com