문자열을 백 슬래시로 분할하려고하는데 문제가 있습니다. 내가 옳은 표현을 누군가가 내가 한 짓을 읽고 내 문제를 말해 줄 수 있겠는가?Java - 역 슬래시 ()로 문자열 분할하기
package taskstodo;
public class Task {
StringBuilder name;
StringBuilder note;
StringBuilder date;
void setName(String name) {
this.name = new StringBuilder(name);
}
void setNote(String note) {
this.note = new StringBuilder(note);
}
boolean dateIsValid() {
String dateStr = date.toString();
String[] numbers = (dateStr.split("[\\\\]"));
for(String num : numbers) {
System.out.println(num);
if ((num.length()) != 2) {
return false;
}
return true;
}
return true;
}
void setDate(String date) {
this.date = new StringBuilder(date);
}
}
패키지 taskstodo;
공용 클래스 TasksToDo {
public static void main(String[] args) {
Task myTask = new Task();
myTask.setDate("02/03/20");
System.out.println(myTask.dateIsValid());
Task myTask2 = new Task();
myTask2.setDate("23/45/6001");
System.out.println(myTask2.dateIsValid());
}
}
TasksToDo 클래스는 작업 클래스를 테스트합니다.
02
03
20
true
23
45
6001
false
을하지만 반환 :
그것은 반환해야
02/03/20
false
23/45/6001
false
구분 기호는 "/"가 아니고 "\"아니요? – talnicolas
난독증이있을 수 있습니다. –
대신에 정규 표현식으로 날짜 형식의 유효성을 검사해야합니다 :-) – unludo