Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java逻辑错误-If语句_Java_Date - Fatal编程技术网

Java逻辑错误-If语句

Java逻辑错误-If语句,java,date,Java,Date,我需要测试字符串输入日期(mm/dd/yyyy)是否有效。标准是一个正常的日历,特别是我的问题,月份需要在1到12之间。无论出于何种原因,如果我输入了有效月份,并且根据if语句,输入本身应该为true,那么我的程序将其读取为false 例如,如果我输入01/01/2000,int month将=1。因此,月份大于0且小于13。但是,相反,程序将其读取为false,我不知道为什么。谢谢 import java.util.Scanner; 公共类C3PP4\u Benjamin\u Crosta\u

我需要测试字符串输入日期(mm/dd/yyyy)是否有效。标准是一个正常的日历,特别是我的问题,月份需要在1到12之间。无论出于何种原因,如果我输入了有效月份,并且根据if语句,输入本身应该为true,那么我的程序将其读取为false

例如,如果我输入01/01/2000,int month将=1。因此,月份大于0且小于13。但是,相反,程序将其读取为false,我不知道为什么。谢谢

import java.util.Scanner;
公共类C3PP4\u Benjamin\u Crosta\u CTIM15701{
公共静态void main(字符串[]args){
字符串输入日期、月字符串、日字符串、年字符串;
布尔值有效月份,闰年;
扫描仪键盘=新扫描仪(System.in);
//用户输入
System.out.println(“请输入日期(mm/dd/yyyy)”;
inputDate=keyboard.nextLine();
//加工
monthString=inputDate.substring(0,2);
dayString=inputDate.substring(3,5);
yearString=inputDate.substring(6,10);
//字符串到整数的转换
int month=Integer.parseInt(monthString);
int day=Integer.parseInt(dayString);
int year=Integer.parseInt(yearString);
//月份
如果((月>0和月<13))validMonth=true;
else validMonth=假;
System.out.println(“您的日期无效,因为您输入的月份不存在。”);
}
}

OHHHH好的,我认为只有嵌套的if-else语句才需要括号。现在可以了谢谢
if (month > 0 && month < 13){
validMonth = true;
} else {
validMonth = false;
System.out.println("Your date is invalid because the month you entered does not exist.");
}
String date = "01/01/1970";
String[] split = date.split("/");
int day = Integer.parseInt(split[0]);
int month = Integer.parseInt(split[1]);
int year = Integer.parseInt(split[2]);