我仍在学习java编程,请原谅我的知识不足。这可能是有史以来最简单的事情,但我一辈子都想不出更好的方法来循环checkTaskDescription方法,直到用户输入的描述低于字符限制。到目前为止,这是我能够做到的唯一方法,但它显然会重复输入对话框两次。
这是执行它的部分
do{
checkTaskDescription();
}
while (checkTaskDescription() == false);
这是正在执行的checkTaskDescription方法:
public boolean checkTaskDescription() {
taskDesc = JOptionPane.showInputDialog(null, "Please enter a short description of the task");
if (taskDesc.length() > 50) {
JOptionPane.showMessageDialog(null, "Please enter a task description of less than 50 characters.", "ERROR",3);
taskDesc = JOptionPane.showInputDialog(null, "Please enter a short description of the task");
return false;
}
JOptionPane.showMessageDialog(null, "Task successfully captured.");
return true;
}
下面是使用while循环执行相同操作的另一种方法
java prettyprint-override">boolean flag = false;
while(!flag){
flag = checkTaskDescription();
}
主要的想法是你总是需要检查你从上一次通话中返回了什么。如果checkTaskDescription()返回false,则再次调用,否则退出循环
如果你这样做会容易得多
public String getTaskDescription() {
String taskDescription = "";
do {
taskDescription = JOptionPane.showInputDialog(null, "Please enter a short description of the task");
}
while (taskDescription.length() > 50);
return taskDescription;
}
当你设计你的方法时,试着让它们尽可能独立。现在,如果输入无效,则返回一个标志并依靠调用方方法再次调用它。
您需要使用方法调用的结果。
boolean ready = false;
do{
ready = checkTaskDescription();
} while ( ! ready );
将进入do块,将ready分配给checkTaskDescription()的返回值,然后检查它是否为false。如果为false,它将继续循环,直到为true。
您的check TaskDescription也已损坏。如果您第一次失败,它将再次显示对话框,然后始终返回false。
public boolean checkTaskDescription() {
taskDesc = JOptionPane.showInputDialog(null, "Please enter a short description of the task");
if (taskDesc.length() > 50) {
JOptionPane.showMessageDialog(null, "Please enter a task description of less than 50 characters.");
return false;
}
JOptionPane.showMessageDialog(null, "Task successfully captured.");
return true;
}
我更新了该方法,以便在输入失败时“工作”,它将显示错误消息,然后循环并再次显示对话框。这就是为什么您应该验证对话框中的数据,而不是在循环中打开对话框。
我正在创建一个Java项目,使用do-while循环从用户那里获取一个介于5到15之间的数字。在此之后,我将使用用户输入的数字创建一个正方形和三角形。 我现在只能重复我的问题。在我运行程序后,它运行良好,直到我输入一个数字,第二次提示用户输入一个数字。如果号码无效或无效,则不会打印。 我试着移动第二个“输入数字...”里面的do-loop,但那只是印有“对不起,无效”的提示。我对while循环中的
尝试创建自动订阅新闻的脚本,但是遇到了一个问题,< code>selenium找不到电子邮件输入和提交按钮。每次获取< code > selenium . common . exceptions . nosuchelementexception:
我试图使一个计算器与一定的输入,是输入像+5或/10 2。当我编译并运行它时,我会得到以下错误: 线程“main”java.util.NoSuchelementException 在java.util.scanner.throwfor(Scanner.java:907) 在java.util.scanner.next(Scanner.java:1416) 在calc.main(calc.java:
本文向大家介绍C#中for循环、while循环循环执行的方法,包括了C#中for循环、while循环循环执行的方法的使用技巧和注意事项,需要的朋友参考一下 先给大家介绍下C#中的循环执行for循环 在这一节练习中,我们向大家介绍一下C#中的另一种重要的循环语句,for循环。 表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:逻辑表达式,循环控制条件;当条件为真时,循环执行循环体中的语句。
问题内容: 我正在尝试制作一个订购咖啡的应用程序。(我真的很陌生。) 我的应用程序运行良好,直到出现两个错误。现在,它可以在设备中运行,但是当您尝试触摸按钮时,它将停止。 代码是: XML代码: 终端中的第一个错误: 和主要错误: 问题答案: 改变这条线 对此: 要么: