/*
编写一个类 Days :
其中的方法把接收过来的信息进行统计,
判断该天是该年的第多少天.(考虑到闰年情况),
要求在main方法中随便输入一个年月日(YYYY/MM/DD)并调用Days类中的方法
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public static void main(String[] args){
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println( "请输入一个年份: ");
int a = Integer.parseInt(bf.readLine());
System.out.println( "请输入一个月份: ");
int b = Integer.parseInt(bf.readLine());
System.out.println( "请输入一个日期: ");
int c = Integer.parseInt(bf.readLine())
Days d = new Days();
d.getDays(a,b,c);
}
public class Days{
public void getDays(int a,int b,int c){
int days = 0;
for (int i = 1; i < b; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days += 31;
break;
case 4:
case 6:
case 9:
days += 30;
break;
case 2: {
if ((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0)) {
days += 29;
} else
days += 28;
break;
}
}
}
days = days + c;
System.out.println( "days = "+days);
}
}
现在对类 有点犯难 不知道怎么用
------解决方案--------------------
什么意思啊?用到哪个类就创建对象,用到类的方法就用对象调用该方法。
直接在main方法中创建Day类对象就行啊,
你不是已经写好程序了么?想问什么?
------解决方案--------------------
1. main方法写类里面
2. int c = Integer.parseInt(bf.readLine())少个分号
3. readLine()会抛出异常
------解决方案--------------------
BufferedReader的readLine()会抛出IOException必须要对他捕获 或者再向上抛出
------解决方案--------------------
建议先看看TRY CATCH 的介绍。
------解决方案--------------------
java中的异常处理机制很厉害的,编译器强制你去捕获运行时异常,所以这个必须写