这是针对数据结构中的赋值,我似乎找不到我需要的确切答案。
我试图获取日期的用户输入,最好是YY-MM-DD格式,然后检查有效性..如果无效,则循环直到有效。这看起来非常乏味,我收到了两次非法的表达错误启动。
我在Google和StackOverflow上进行了搜索,但只找到了解决日期的问题
public String hireDate(){
Scanner input = new Scanner(System.in);
boolean answer = false;
while(answer == false){
String temp = input.nextLine();
if((temp.charAt(0) >= 0 && temp.charAt(0) <= 9) && (temp.charAt(1)
>= 0 && temp.charAt(1) <= 9) && (temp.charAt(2) == -)
&& (temp.charAt(3) >= 0 && temp.charAt(3) <= 9) && (temp.charAt(4)
>= 0 && temp.charAt(4) <= 9) && (temp.charAt(5) == -)
&& (temp.charAt(6) >= 0 && temp.charAt(6) <= 9)){
answer = true;
} else {
answer = false;
}
}
return temp;
}
答案 0 :(得分:1)
您可以使用Regex轻松完成。只需检查输入字符串是否与您的模式(YY-MM-DD)匹配
if (temp.matches("\\d{2}-\\d{2}-\\d{2}"))
答案 1 :(得分:1)
temp.charAt(1)>=0
您正在将字符与整数进行比较。