有一个地方需要用到 wizard 风格的交互,就是每次回答一个问题,答案类型有整型、字符串和日期,有些会有特定要求,不满足要求就会提示再次输入直到输入有效进入下一个问题。现在用的是 Console.readLine(),统一接受字符串然后类型转换,但是直接用 do while 写那就是有几个问题写几段 do while,实在是太繁琐了,有没有什么能够实现对一个问题(问题描述,输入类型,判断函数)进行处理的一般性方法,也就是说每次指定问题描述、输入类型、判断函数就能够得到输入的值
1
AllOfMe 2018-10-24 10:15:08 +08:00
这种应该包装一下就好了吧?配合 Scanner,自己撸一个
ConsoleReader.readInt().valid(e->{ ... }) |