Java 如何修复这个简单的程序?猜谜游戏
你好,有人能帮我吗。我正在编写一个程序,用户可以输入一个猜测游戏的最大数字,并使用随机生成器,他/她必须猜测从1到最大数字的数字。我已经完成了大部分工作,但是如果用户输入一个字母或除整数以外的任何其他内容,我就无法理解如何循环程序以输入另一个输入。从“做”部分开始,我就感到困惑Java 如何修复这个简单的程序?猜谜游戏,java,loops,if-statement,joptionpane,do-while,Java,Loops,If Statement,Joptionpane,Do While,你好,有人能帮我吗。我正在编写一个程序,用户可以输入一个猜测游戏的最大数字,并使用随机生成器,他/她必须猜测从1到最大数字的数字。我已经完成了大部分工作,但是如果用户输入一个字母或除整数以外的任何其他内容,我就无法理解如何循环程序以输入另一个输入。从“做”部分开始,我就感到困惑 import java.util.ArrayList; 导入java.util.Random; 导入javax.swing.JOptionPane; 公共类猜测游戏{//类名 公共静态void main(字符串[]ar
import java.util.ArrayList;
导入java.util.Random;
导入javax.swing.JOptionPane;
公共类猜测游戏{//类名
公共静态void main(字符串[]args){//main方法
String smax=JOptionPane.showInputDialog(“为猜游戏输入最大数字:”);
int max=Integer.parseInt(smax);
做{
如果(最大值>10000){
showMessageDialog(null,“哦,不!请将您的选择保持在10000以下。”);
smax=JOptionPane.showInputDialog(“输入猜测游戏的最大数字:”);
max=整数.parseInt(smax);
}
}而(最大值>10000);
整数回答,猜测=0,低计数=0,高计数=0,游戏;
弦长;
随机生成器=新随机();
答案=发电机。下一个(最大)+1;
ArrayList ButtonCoices=新ArrayList();//名为ButtonCoices的字符串数组列表
添加(“1-”+最大值+“猜谜游戏”);
Object[]buttons=ButtonCoices.toArray();//将字符串数组转换为名为buttons的对象
game=JOptionPane.showOptionDialog(null,“玩还是退出?”,“猜谜游戏”,
JOptionPane.PLAIN_消息,JOptionPane.QUESTION_消息,
null,buttons,buttonChoices.get(0));
做{
sguess=JOptionPane.showInputDialog(“我想的是一个介于1和“+max+”之间的数字。猜猜看:”);
试一试{
guess=Integer.parseInt(sguess);
}捕获(NumberFormatException nfe){
showMessageDialog(null,“那不是一个数字!”);
}
如果(猜测<回答){
showMessageDialog(null,“太低了!”);
低计数++;
}否则{
showMessageDialog(null,“太高了!”);
高计数++;
}
打破
}while(猜!=回答);
JOptionPane.showMessageDialog(null,“干得好!”+“\n-----------------------“+”\n答案是“+答案+”\n低猜测:“+低计数”
+“\n高度猜测:“+highcount+”\n\n您通常猜测:“+(lowcount+highcount)+”次”);
系统出口(0);
}
}
第一件事是第一件事,最后一件事中的中断
。如果在循环内无条件地中断
;这不是一个循环;这是一个单独的执行块
除此之外,在验证输入的区域,您应该遵循以下结构。(可以实现的伪代码)
Do,而输入不等于答案
通过对话从用户处获取输入
开始尝试
解析用户输入
如果输入>回答
通知用户
否则,如果输入<回答
通知用户
结束尝试
开始捕获分析错误
提醒用户输入无效
端接
结束时
获取输入,进入while(input.isNotValid)getInput
-或类似的…比如做{getInput}while(input.isNotValid)
。该死,这是Java,不是JavaScript!这是不同的!我无法更改iOS中的标签,请其他人更改,以便正确分组问题。我不明白你的意思。请更改代码,使其可读,我将查看它。在这一点上太草率了,用不着麻烦了。当你完成任务时,用“酋长”称呼我。@chieftwo铅笔给你,兄弟,非常感谢意味着很多!
Do-While input does not equal answer
Get input from user with dialogue
Begin Try
Parse user input
If input > answer
Notify user
Else-If input < answer
Notify user
End Try
Begin Catch Parse error
Alert user of invalid input
End Catch
End While