Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-1变量,相同的字符串长度,2个不同的值?_Java_String_If Statement_String Length - Fatal编程技术网

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

Java-1变量,相同的字符串长度,2个不同的值?,java,string,if-statement,string-length,Java,String,If Statement,String Length,我正在处理一个调用流。客户需要输入其客户的出生日期,他们要求输入的格式为DDMMYYYY(8位)。这在我们用来开发调用流的GUI中是很容易做到的,不需要任何脚本,只需使用子字符串将输入的DOB与它们实际存储在数据库中的格式匹配即可 然而,现在客户希望我们对其客户输入的潜在错误进行解释 因此,他们想说明DMMYY,DDMYY,DDMMYY和DMMYYYY。同样,编辑器可以处理大部分问题,并处理varDOBInput.toString() 问题是前2个DMMYY,DDMYY,两者都=5。那时我不能使

我正在处理一个调用流。客户需要输入其客户的出生日期,他们要求输入的格式为
DDMMYYYY
(8位)。这在我们用来开发调用流的GUI中是很容易做到的,不需要任何脚本,只需使用子字符串将输入的DOB与它们实际存储在数据库中的格式匹配即可

然而,现在客户希望我们对其客户输入的潜在错误进行解释

因此,他们想说明
DMMYY
DDMYY
DDMMYY
DMMYYYY
。同样,编辑器可以处理大部分问题,并处理
varDOBInput.toString()

问题是前2个
DMMYY
DDMYY
,两者都=5。那时我不能使用编辑器,只能编写脚本。在考虑脚本时,我甚至不知道如何使用if语句来实现这一点

if(varDOBInput.toString().length==5) {}
两个输入都将等于5,我如何让Java区别于这两个输入?甚至有可能,因为if语句将紧跟其后,直到结果匹配为止,并且它将是
.length==5


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

不,你不能那样做。两位数的月份可以以数字1或0开始,两位数的日子可以以数字1或0结束


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

我认为你无法区分 例如,输入11118,将解析为2018年1月11日还是2018年11月1日?
您只需要尝试将其作为一个进行解析,如果解析失败,请尝试另一个,如果用户键入了一个可以同时使用DMMYY和DDMYY解析的值,则无法知道用户的意思,因为其他人说这是不可能的,因为在许多情况下,您可以从给定字符串解析多个有效日期,我的建议是与客户交谈,建议他使用一些分隔符(
/
-
等),甚至使用不同的日期输入字段,此外,大多数现代GUI工具包现在都内置了
日期选择器
,这可能是更好的选择。

使用日期格式如何询问客户11111应该代表什么日期。看来你的客户在要求魔法,伙计。Java和任何东西都不能做到这一点。如果你没有编程,只是用你的头脑,你将无法做到这一点。这是不可能的。这需要通灵。谢谢大家。我认为这是不可能的,我已经告诉他们ddmyy和dmmyy可能带来的误报,但他们似乎非常有决心做到这一点。对我来说,他们不应该为输入中的错误而烦恼,他们要求客户以特定的格式输入两次。它非常清楚需要什么格式。