do..while的SB问题,分多人傻,请速来!

Z.Chen 2020-02-15 06:29:50
输入有效性验证。
在swing里面输入学生姓名,如果没有输入任何东西直接点确认,需要跳出提示,然后重复跳出输入框,要求再次输入。


JOptionPane jop = new JOptionPane();

student.name = jop.showInputDialog("Enter Student Name");
String receiveName = student.name;
do{
student.name = jop.showInputDialog("Enter Student Name");
jop.showMessageDialog(null, "Please enter valid information!!!!", "Input",JOptionPane.WARNING_MESSAGE);

}while(receiveName == null || receiveName.equals(""));


我写的do while逻辑有点不对,缺点东西,导致运行时不断陷入错误提示,哪怕输入了姓名还是会有错误提示。
我觉得应该在第8行再加个while来跳出循环,但是又不确定怎么写。请高手帮忙。
谢谢。
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Z.Chen 2020-02-15
  • 打赏
  • 举报
回复
引用 3 楼 再启动 的回复:
JOptionPane jop = new JOptionPane(); String receiveName = null; do{ student.name = jop.showInputDialog("Enter Student Name"); receiveName = student.name; if (receiveName == null || receiveName.equals("")) { jop.showMessageDialog(null, "Please enter valid information!!!!", "Input",JOptionPane.WARNING_MESSAGE); } }while(receiveName == null || receiveName.equals(""));
跪谢版主大人。。。
再启动 2020-02-15
  • 打赏
  • 举报
回复
JOptionPane jop = new JOptionPane(); String receiveName = null; do{ student.name = jop.showInputDialog("Enter Student Name"); receiveName = student.name; if (receiveName == null || receiveName.equals("")) { jop.showMessageDialog(null, "Please enter valid information!!!!", "Input",JOptionPane.WARNING_MESSAGE); } }while(receiveName == null || receiveName.equals(""));
Z.Chen 2020-02-15
  • 打赏
  • 举报
回复
if语句只能重复一次,第二次输入为空就不行了。。。
Sh@dow 2020-02-15
  • 打赏
  • 举报
回复
改成用if语句判断就可以了

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧