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

我正在编写一个代码,要求用户输入一个数字,如果输入的不是数字,它将要求用户再次输入。哪个环路最好?[副本]

沈华晖
2023-03-14

我正在编写一个代码,要求用户输入一个数字,如果输入的不是数字,它将要求用户再次输入。哪个环路最好?

共有3个答案

李宁
2023-03-14

对于代码的读者来说,“最佳”循环是主观的。在使用用户输入的情况下,性能应该无关紧要,因为用户不会注意到毫秒级的差异。一些选项:

同时循环:

String inpt = getInput();
while (!inpt.matches("^[0-9]+$")) {
  inpt = getInput();
}

do循环:

String inpt = null;
do {
  inpt = getInput();
} while (!inpt.matches("^[0-9]+$"))
龚铭
2023-03-14

你试过while loop吗?或者做while循环在这种情况下,您不知道需要重复循环多少次,所以一段时间的循环是有意义的。除非你想限制尝试次数?然后可能是一个for循环。

彭琛
2023-03-14

当您不知道需要迭代多少次时,While循环工作得最好。此外,与python中for循环的语法相比,while循环的语法更简单。我建议使用while循环。请参阅下面的代码

x = input()
while not abs(x).isdigit(): 
    x = input()

我使用了abs(),因为isDigit()不检查负数

 类似资料:
  • 我创建了以下类,用于输入用户的年龄,然后在控制台中显示适当的信息。 运行此程序时,控制台会询问“请输入您的年龄:”

  • 所以我把Java作为数学学位要求的一部分,并且偶然发现了这个代码的一个问题。本质上,代码应该从用户那里接收数字,直到他们键入零。只要只输入数字,它就可以正常工作。但是,如果用户输入一个字母或符号,程序就会得到一个异常。有没有一种简单的方法可以验证用户输入的数字而不会得到异常? 所以我已经尝试了你展示的尝试/捕捉。但我还是遇到了非数字的例外。输入代码如下:

  • 假设我希望用户提供4个输入,但它只提供3个。预期=给定= 如何避免这个错误?请帮帮忙

  • 这是一个塔克店的节目! http://paste.ubuntu.com/5967772/ 给出错误

  • 问题:编写一个程序,要求用户输入一个介于0和1000之间(包括0和1000)的数字。如果他们输入的数字超出范围,请打印一条消息,说明该数字超出范围,并再次提示他们输入一个介于0和1000之间(包括0和1000)的数字。当用户输入范围内的数字时,将数字打印到屏幕上并结束程序。 我已经编写了程序,但我不确定我是否正确使用了语句。请检查我的程序并给予反馈。我的问题:如果我输入负数两次,它不是第三次要求数

  • 我需要使用while循环来询问用户一个介于1-100之间的数字,如果用户输入的数字是负数或超过100,我会告诉用户他们输入了错误的数字。这是我到目前为止的情况。每当我运行它时,它都会要求用户输入。当输入为负数或大于100时,它表示无效数字,而当用户输入为45时,当0-100之间的数字有效时,它仍表示无效数字。我不认为这是阅读代码的最后一部分。