Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复这个简单的程序?猜谜游戏_Java_Loops_If Statement_Joptionpane_Do While - Fatal编程技术网

Java 如何修复这个简单的程序?猜谜游戏

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

你好,有人能帮我吗。我正在编写一个程序,用户可以输入一个猜测游戏的最大数字,并使用随机生成器,他/她必须猜测从1到最大数字的数字。我已经完成了大部分工作,但是如果用户输入一个字母或除整数以外的任何其他内容,我就无法理解如何循环程序以输入另一个输入。从“做”部分开始,我就感到困惑

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