【问题标题】:Java - 1 varaible, same string length, 2 different values?Java - 1个变量,相同的字符串长度,2个不同的值?
【发布时间】:2018-12-28 16:05:15
【问题描述】:

我现在正在处理呼叫流程。客户需要输入他们的客户的出生日期,他们要求输入的格式是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的初学者,说初学者可能有点乐观。

【问题讨论】:

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

标签: java string if-statement string-length


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我认为你无法区分 例如输入 11118,会被解析为 11-Jan-2018 还是 1-Nov-2018? 您只需要尝试将其解析为一个,如果失败则尝试另一个,如果用户键入了可同时使用 DMMYY 和 DDMYY 解析的值,则无法知道用户的意思

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-11-30
        • 1970-01-01
        • 2012-12-23
        • 2023-01-07
        • 2012-06-03
        • 2019-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多