这种实现方法的问题在哪里?

初晓暮年 2019-06-12 09:56:29
A,B,C,D四个文本框 报错msg是”请在A和B或者C和D中输入内容” 我的check实现代码如下 if (StringUtils.isEmpty(A) != StringUtils.isEmpty(B) || StringUtils.isEmpty(C) != StringUtils.isEmpty(D)) ||(StringUtils.isEmpty(A) && StringUtils.isEmpty(B) && StringUtils.isEmpty(C) && StringUtils.isEmpty(D)) { showmsg; } 这种写法存在什么问题?比如测试覆盖率会比较高,不容易理解等等?
...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
greadworld 2019-06-14
  • 打赏
  • 举报
回复
if ((a.equals("0") || b.equals("0") || !a.equal(b)) && (c.equals("0") || d.equals("0") || !c.equals(d)))
greadworld 2019-06-14
  • 打赏
  • 举报
回复
引用 3 楼 qq_28392343 的回复:
[quote=引用 2 楼 greadworld的回复:]不懂为什么要写那么长,下面这个你把0当作空,然后把.equals("0")换成StringUtils.isEmpty 就是你要的了 public static void main(String[] args) { List<String[]> strings = new ArrayList<>(); strings.add("0,0,0,0".split(",")); strings.add("1,0,0,0".split(",")); strings.add("0,1,0,0".split(",")); strings.add("0,0,1,0".split(",")); strings.add("0,0,0,1".split(",")); strings.add("1,1,0,0".split(",")); strings.add("1,0,1,0".split(",")); strings.add("1,0,0,1".split(",")); strings.add("0,1,1,0".split(",")); strings.add("0,1,0,1".split(",")); strings.add("0,0,1,1".split(",")); strings.add("1,1,1,0".split(",")); strings.add("1,1,0,1".split(",")); strings.add("1,0,1,1".split(",")); strings.add("0,1,1,1".split(",")); strings.add("1,1,1,1".split(",")); for(String[] s : strings ){ String a = s[0]; String b = s[1]; String c = s[2]; String d = s[3]; if ((a.equals("0") || b.equals("0")) && (c.equals("0") || d.equals("0"))) { System.out.println("错误消息"); } else { System.out.println("正确消息"); } } }
结果并不对, AB,CD两两输入状态必须要一样的 [/quote] 并没有看到你有这需求
maradona1984 2019-06-12
  • 打赏
  • 举报
回复
如果你的StringUtils是commons-lang3的工具类,你可以尝试用isAllEmpty这个方法 如果是自己写的,那就自己封装一个isAllEmpty的方法
初晓暮年 2019-06-12
  • 打赏
  • 举报
回复
引用 2 楼 greadworld的回复:
不懂为什么要写那么长,下面这个你把0当作空,然后把.equals("0")换成StringUtils.isEmpty 就是你要的了 public static void main(String[] args) { List<String[]> strings = new ArrayList<>(); strings.add("0,0,0,0".split(",")); strings.add("1,0,0,0".split(",")); strings.add("0,1,0,0".split(",")); strings.add("0,0,1,0".split(",")); strings.add("0,0,0,1".split(",")); strings.add("1,1,0,0".split(",")); strings.add("1,0,1,0".split(",")); strings.add("1,0,0,1".split(",")); strings.add("0,1,1,0".split(",")); strings.add("0,1,0,1".split(",")); strings.add("0,0,1,1".split(",")); strings.add("1,1,1,0".split(",")); strings.add("1,1,0,1".split(",")); strings.add("1,0,1,1".split(",")); strings.add("0,1,1,1".split(",")); strings.add("1,1,1,1".split(",")); for(String[] s : strings ){ String a = s[0]; String b = s[1]; String c = s[2]; String d = s[3]; if ((a.equals("0") || b.equals("0")) && (c.equals("0") || d.equals("0"))) { System.out.println("错误消息"); } else { System.out.println("正确消息"); } } }
结果并不对, AB,CD两两输入状态必须要一样的
greadworld 2019-06-12
  • 打赏
  • 举报
回复
不懂为什么要写那么长,下面这个你把0当作空,然后把.equals("0")换成StringUtils.isEmpty 就是你要的了 public static void main(String[] args) { List<String[]> strings = new ArrayList<>(); strings.add("0,0,0,0".split(",")); strings.add("1,0,0,0".split(",")); strings.add("0,1,0,0".split(",")); strings.add("0,0,1,0".split(",")); strings.add("0,0,0,1".split(",")); strings.add("1,1,0,0".split(",")); strings.add("1,0,1,0".split(",")); strings.add("1,0,0,1".split(",")); strings.add("0,1,1,0".split(",")); strings.add("0,1,0,1".split(",")); strings.add("0,0,1,1".split(",")); strings.add("1,1,1,0".split(",")); strings.add("1,1,0,1".split(",")); strings.add("1,0,1,1".split(",")); strings.add("0,1,1,1".split(",")); strings.add("1,1,1,1".split(",")); for(String[] s : strings ){ String a = s[0]; String b = s[1]; String c = s[2]; String d = s[3]; if ((a.equals("0") || b.equals("0")) && (c.equals("0") || d.equals("0"))) { System.out.println("错误消息"); } else { System.out.println("正确消息"); } } }
内容概要:本文档围绕基于MATLAB/Simulink平台的直流无刷电机速度控制系统展开,重点介绍利用Simulink搭建电机控制模型,实现直流无刷电机的速度开环控制仿真。文档详细阐述了系统建模、关键模块设计与参数配置过程,帮助读者深入理解电机控制的基本原理与仿真流程。同时,文档还列举了涵盖电力电子、新能源系统、路径规划、智能优化算法等多个领域的丰富仿真案例,充分展示了MATLAB/Simulink在多学科交叉科研仿真中的强大功能与广泛应用前景。; 适合人群:具备一定自动控制理论基础和MATLAB/Simulink使用经验的高校学生、科研人员及工程技术人员,特别适用于从事电机控制、电力电子、新能源系统、智能优化等方向的研究者。; 使用场景及目标:①学习直流无刷电机的工作原理及其速度开环控制方法;②掌握使用Simulink进行电机控制系统建模与仿真的核心技能;③为后续开展更高级的闭环控制、矢量控制或结合智能优化算法的电机控制研究奠定坚实的技术基础并提供实用的参考实例。; 阅读建议:建议读者结合文档提供的仿真模型与代码资源,亲自动手实践Simulink建模全过程,逐步理解各功能模块的作用与参数整定方法,并充分利用网盘中的配套资料进行复现与深入学习,从而有效提升科研仿真与工程实践能力。

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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