我正在创建一个程序,对于部分程序,用户必须以“MM / DD / 2008”格式输入日期。我已经准备好了单独的月份和日期,但我如何确保他们输入正确而不是“M / D / 2008”或字母?
这是要求输入的情况......
System.out.print("Please enter a date to view (MM/DD/2008, 0 to Quit):\n");
String dateChoice = scan.next();
while (!dateChoice.equals("0")) {
String[] tokens = dateChoice.split("/");
int month = Integer.parseInt(tokens[0]) - 1;
int date = Integer.parseInt(tokens[1]) - 1;
choice.weatherRecord(month, date);
System.out.print("Please enter a date to view (MM/DD/2008, 0 to Quit):\n");
dateChoice = scan.next();
}
答案 0 :(得分:1)
您实际上可以像这样使用JFormattedTextField
:
JTextField jtf = new JFormattedTextField(new SimpleDateFormat(formatString));
这将创建一个仅允许输入匹配formatString
的文本字段。