需求:输入某年某月某日,判断这一天是这一年的第几天?
一个简单的java判断问题,我们不用日期类来试一下。
首先月份不能超过12,日期不能超过31;
以下为代码块
public class Test14 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入某年");
int a = s.nextInt();
System.out.println("请输入某月");
int b = s.nextInt();
if (b>12){
System.out.println("你输入的不是有效月份");
return;
}
System.out.println("请输入某日");
int c = s.nextInt();
if(c>31){
System.out.println("你输入的不是有效日");
return;
}
int d = b - 1;
if (a % 4 == 0) {
switch (d) {
case 1: case 3:case 4:
System.out.println(30 * d + 1 + c);
break;
case 2:
System.out.println(30 * d + c);
break;
case 5:case 6:
System.out.println(30 * d + 2 + c);
break;
case 7:
System.out.println(30 * d + 3 + c);
break;
case 10: case 11:
System.out.println(30 * d + 5 + c);
break;
case 8:case 9:
System.out.println(30 * d + 4 + c);
break;
case 12:
System.out.println(30 * d + 6 + c);
break;
}
} else {
switch (d) {
case 2:
System.out.println(30 * d-1+ c);
break;
case 3:case 4:
System.out.println(30*d+c);
break;
case 1: case 5: case 6:
System.out.println(30 * d + 1 + c);
break;
case 7:
System.out.println(30 * d + 2 + c);
break;
case 10:case 11:
System.out.println(30 * d + 4 + c);
break;
case 8:case 9:
System.out.println(30 * d + 31 + c);
break;
case 12:
System.out.println(30 * d + 5 + c);
break;
}
}
}
}