Java-1个变量,相同的字符串长度,2个不同的值?

时间:2018-07-20 10:51:45

标签: java string if-statement string-length

我正在处理一个呼叫流程。客户需要客户输入生日日期,他们要求输入的格式为DDMMYYYY(8位)。这很容易在我们用于开发呼叫流的GUI中进行,而无需任何脚本编写,只是将输入的DOB与其实际存储在数据库中的格式相匹配的子字符串除外。

但是现在,客户希望我们解决客户输入中的潜在错误。

因此,他们想说明DMMYYDDMYYDDMMYYDMMYYYY。同样,大多数操作都可以由编辑器处理,并且可以在varDOBInput.toString().length==5, 6上进行。

问题是前2个DMMYYDDMYY都== 5。那是我不能使用编辑器而只能对此编写脚本的时候。考虑脚本时,我什至不确定如何使用if语句来完成此操作。

if(varDOBInput.toString().length==5) {}

两个输入都将等于5,如何使Java区别于两者?甚至有可能,因为if语句将一直跟随直到结果匹配并且将与.length==5

我非常是Java的初学者,我可能会说初学者有点乐观。

3 个答案:

答案 0 :(得分:0)

不,您不能这样做。两位数的月份可以以数字1或0开头,两位数的日期可以以数字1或0结尾。

那么20299年可能是2月2日或2月20日。无法知道。

答案 1 :(得分:0)

我认为您将无法与众不同 例如输入11118,将其解析为2018年1月11日还是2018年11月1日? 您只需要尝试将其解析为一个,如果失败则尝试另一解析,则无法知道用户输入了可同时用DMMYY和DDMYY解析的值的用户含义。

答案 2 :(得分:0)

正如其他人说的那样,这样做是不可能的,因为在许多情况下,您可以从给定的字符串中解析一个以上的有效日期,我的建议是与客户交谈,并建议客户使用一些分隔符({ {1}},/-等),甚至日期的不同输入字段,现在大多数现代GUI工具箱都内置了.,这也许是更好的选择。 / p>