如何实现 Java CLI 反复判断用户输入直到接收到有效输入

2018-10-11 14:53:06 +08:00
 Oathbinder

有一个地方需要用到 wizard 风格的交互,就是每次回答一个问题,答案类型有整型、字符串和日期,有些会有特定要求,不满足要求就会提示再次输入直到输入有效进入下一个问题。现在用的是 Console.readLine(),统一接受字符串然后类型转换,但是直接用 do while 写那就是有几个问题写几段 do while,实在是太繁琐了,有没有什么能够实现对一个问题(问题描述,输入类型,判断函数)进行处理的一般性方法,也就是说每次指定问题描述、输入类型、判断函数就能够得到输入的值

2027 次点击
所在节点    Java
1 条回复
AllOfMe
2018-10-24 10:15:08 +08:00
这种应该包装一下就好了吧?配合 Scanner,自己撸一个
ConsoleReader.readInt().valid(e->{
...
})

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/496719

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX