好的,所以我们应该制作一个程序,只读取mm/dd/yyyy格式的日期的正确输入。到目前为止,我所学到的全部是if-else语句,触及了枚举的一些内容,字符串处理,切换语句等等。我认为最好的方法是使用/的分隔符来分别捕获每个月的每日和每年的输入,但是当我运行下面看到的内容时,程序就会在输入后停止,比如5/16/1985 ......澄清程序实际上仍在运行,但没有任何反应(即期望的字符串过程和它们的值的输出)。一旦我输入日期,它什么都不做,我想知道为什么?分隔符是否不起作用?我是否想用错误的方式使用分隔符?它让我疯狂大声笑,任何建议都会很好!为什么这个分隔符不能正常工作?
也想补充一点,我试图在创建字符串后分隔符(如下所示),并试图捕获INT值使用nextInt .....仍然做同样的事情,什么都没有发生后初始日期输入....
Scanner keyboard = new Scanner(System.in);
keyboard.useDelimiter("/");
String month = keyboard.next();
String day = keyboard.next();
String year = keyboard.next();
int monthi = Integer.parseInt(month);
int dayi = Integer.parseInt(day);
int yeari = Integer.parseInt(year);
System.out.println(monthi);
System.out.println(dayi);
System.out.println(yeari);
现在就试试....没有运气,同样的事情,它仍然没有做什么,日食显示程序仍在运行,但预期的输出仍然没有发生..... –
@ user2035824我编辑了我的答案并测试它,现在应该工作。 –
@凯文D.烨,(几乎)做到了!但是,我试图从年份解析INT值时发生错误,因为它后面有空白(至少我认为是问题所在),所以我修改了您建议包含year.trim()的内容,然后它像一个魅力工作!感谢您指引我朝着正确的方向发展,现在希望我的所有if-else声明都能在闰年和30或31天内发挥作用! –