我正在编写一个代码,要求用户输入一个数字,如果输入的不是数字,它将要求用户再次输入。哪个环路最好?
对于代码的读者来说,“最佳”循环是主观的。在使用用户输入的情况下,性能应该无关紧要,因为用户不会注意到毫秒级的差异。一些选项:
同时循环:
String inpt = getInput();
while (!inpt.matches("^[0-9]+$")) {
inpt = getInput();
}
do循环:
String inpt = null;
do {
inpt = getInput();
} while (!inpt.matches("^[0-9]+$"))
你试过while loop吗?或者做while循环在这种情况下,您不知道需要重复循环多少次,所以一段时间的循环是有意义的。除非你想限制尝试次数?然后可能是一个for循环。
当您不知道需要迭代多少次时,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之间的数字有效时,它仍表示无效数字。我不认为这是阅读代码的最后一部分。