当前位置: 首页 > 知识库问答 >
问题:

如何在while循环中输入整数后面的字符串?

黄君博
2023-03-14

我正在尝试制作一个计算某人所做步数的程序(如果这个数字更大或等于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.");
                }
            }
        }

共有1个答案

松正阳
2023-03-14

您应该看一下:为什么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…有可能做到吗?还是我将继续这种方法?