我正在尝试制作一个计算某人所做步数的程序(如果这个数字更大或等于10000,程序就应该停止),但我似乎找不到一种方法来键入“回家”,然后输入到家所必需的步数。
Scanner scan = new Scanner(System.in);
int totalSteps = 0;
while(true)
{
int steps = scan.nextInt();
totalSteps = totalSteps + steps;
if(totalSteps >= 10000) {
System.out.println("Goal reached! Good job!");
break;
}
else if(steps < 10000)
{
String home = scan.nextLine();
if(home.equals("Going home"))
{
int extraSteps = scan.nextInt();
totalSteps = totalSteps + steps + extraSteps;
System.out.println(10000 - totalSteps + " more to reach goal.");
}
}
}
您应该看一下:为什么nextLine()返回的是空字符串?
这将起作用:
else if(steps < 10000) {
scan.nextLine();
String home;
while (!(home = scan.nextLine()).isEmpty()) {
if (home.equals("Going home")) {
int extraSteps = scan.nextInt();
totalSteps = totalSteps + steps + extraSteps;
System.out.println(10000 - totalSteps + " more to reach goal.");
}
}
}
我正在制作一个程序,它从用户那里获取一个字符串并用分隔符逐字分隔它,它几乎完成了。但是,在第一个完整循环之后,来自用户的下一个输入不会通过最后一个while循环。 下面是我要说的代码片段: 我想我需要在单词increment和print行周围再循环一次,并在输入中使用continue序列。hasNext()循环,因为这就是我使用int来运行类似程序的方式,但我不确定这将如何处理字符串。 有什么建议
问题内容: 我被困在我应该声明一个称为“ phrase”的字符串变量的部分,该变量不应一直循环播放。 让您知道我的任务是:与选项1相似,不同之处在于用户在输入第一队的结果后输入“ N”(而不是“ Q”)。然后,程序输入第二个团队名称及其结果,直到输入“ Q”。输出两个语句,例如选项1中的语句,然后输出第三条语句,该语句说明哪个团队处于第一位(基于点数) 输入样例: 样本输出: 更新 : 我的代码:
我试图通过使用Kryonet进行通信来创建一个基本的IRC。我遇到的问题是,在我的代码中,我不能安全地使用允许用户键入和发送消息的main while循环,因为Scanner给出了一个错误,并且似乎跳过了对nextLine()的调用。我想做的是让扫描仪在继续之前等待用户输入。 更准确地说,程序将首先在行的开头放一个“:”,然后在用户按enter键后获取用户键入的任何内容,然后将其发送到服务器。我得
下面的代码循环了两次。第一个while循环要求用户输入(以做出选择)。我把选择默认值设置为“n”,使它变得更简单。 因此,它命中if语句并开始第2个while循环。现在它要求用户进行另一个选择。用户只能输入“a”,因为其他任何东西都会出现错误陷阱。用户输入“a”并得到添加一个数字的提示(变量num=0)。用户输入一个数字。 使用更多信息更新的代码 我已经尝试使用不同的变量进行选择。它不起作用。我想
我一直在寻找如何弄清楚如何让一个输入或某些东西进入一个time循环。就像在,输入()命令不会停止我的秒表。我尝试过tkinter、pygame和其他几种方法,但它们都不起作用。如果有人能帮我,我更喜欢小而简单的东西,如果这是可能的话。具体来说,我想学习做什么,基本上是允许在按下任何键时立即停止(最好不按回车键)。谢谢,马鞍猪! 以下是我到目前为止的情况,没有任何东西可以激活停止:
我刚开始学习Java,我遇到了这个问题:我有一个无限的 while 循环,它创建了一个通过套接字发送的消息;目前,在从队列中轮询许多元素并读取它们之前,不会发送消息。 我的目标是在N秒后发送消息,而不是等待到达MAX_MSG_TO_SEND…有可能做到吗?还是我将继续这种方法?