我使用以下代码询问用户的身高(英尺和英寸),如果用户的输入不是int,则返回一条错误消息:
loop = true;
while(loop){
if(input.hasNextInt()){
feet = input.nextInt();
loop = false;
break;
}
else{
System.out.println("Invalid input, please enter an integer.");
System.out.print("Feet: ");
input.nextLine();
}
}
loop = true;
System.out.print("Inches: ");
while(loop){
if(input.hasNextInt()){
inches = input.nextInt();
loop = false;
break;
}
if(!input.hasNextInt()){
System.out.println("Invalid input, please enter an integer.");
System.out.print("Inches: ");
input.nextLine();
}
}
程序返回feet的错误消息:
Feet: f
Invalid input, please enter an integer.
Feet:
但第一次返回英寸的错误消息时,它会返回两次:
Inches: f
Invalid input, please enter an integer.
Inches: Invalid input, please enter an integer.
Inches:
此错误仅在用户第一次输入整数以外的内容时发生。我怎么才能摆脱这个?
如果对英尺使用else
效果很好,为什么不对英寸再次使用它呢?
将if(!input.hasnextint())
更改为else
应该可以解决此问题。
NextInt
方法不使用整数后面的\n
字符。
在第二个循环中,当hasnextint
为false时,它读取一行。该行将为空,因为它正在读取上次的最终\n
。
在循环的第二次迭代中,它读取您输入的最后一行,然后再次出错。
修复方法是始终使用NextLine()
并使用Integer.ParseInt(String);
获取整数。hasnextint()
仍然可以正常工作。
问题内容: python中的any命令行选项可以打印异常/错误类层次结构吗? 输出应类似于http://docs.python.org/2/library/exceptions.html#exception- hierarchy 问题答案: 检查模块可能会有所帮助,特别是getclasstree()函数: 将给定的类列表排列为嵌套列表的层次结构。在出现嵌套列表的地方,它包含派生自该类的类,这些类的
我被这个聪明的问题困住了。我找不到一个可定制的解决方案。我正在尝试使用打印列表的。这是代码: 我试图得到这个结果(例如): 等等。问题是,我总是得到这样的信息(每次都是从打印出来的): 像这样: 并对列表的其余部分依此类推。谁能指导我解决这件事。任何帮助都非常感谢。
问题内容: 我使用Python和无服务器在AWS上制作了echo工具。 我不断收到相同的请求。我读了一个常见问题,上面说您必须提供状态码200,否则它将继续重试网络挂接。 我不确定该怎么做。 我注意到呼叫的序列号始终相同,因此我假设我发送的回复未被确认。我的代码在这里 我在很多地方都给出了状态码200,但我不确定y仍然会遇到同样的问题。 问题答案: 如果收到多条消息,则服务器 未 从Faceboo
因此,我当前遇到的问题是,在我完成所有步骤后,“Enter your command(reverse,replace first,replace last,remove all,remove)”语句被打印了两次。 我相信正在发生的是循环执行了两次,但我不知道为什么。如果能帮助解决这个问题,我们将不胜感激。抱歉,如果我的代码格式不好,还在学习如何正确的格式。
我现在的代码: 我希望它打印两个数组的交集,而不需要再次打印相同的数字。 E、 g:code>[1,2,2,1]和的交点应该只打印一次,而不是像我现在的代码那样。
问题内容: 我有一个简单的AJAX表单,该表单可以在提交时正常运行。但是,如果我随后将新数据输入相同的表单(而不刷新页面),则它将提交两次表单。如果我第三次这样做,那么它将第三次提交表单,依此类推。为什么这样做呢?这是我的代码: 问题答案: 即使我在开发AJAX登录表单时也遇到了同样的问题。搜寻了几个小时后,我找到了解决方案。希望这对您有所帮助。 基本上,您必须在ajax请求完成后 取消绑定 表单