/*
编写一个类 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);
}
}
现在对类 有点犯难 不知道怎么用

解决方案 »

  1.   

    什么意思啊?用到哪个类就创建对象,用到类的方法就用对象调用该方法。
    直接在main方法中创建Day类对象就行啊,
    你不是已经写好程序了么?想问什么?
      

  2.   

    1. main方法写类里面
    2. int c = Integer.parseInt(bf.readLine())少个分号
    3. readLine()会抛出异常
      

  3.   


    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    public class Test
    {
    public static void main(String[] args){
    try
    {
    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);
    }
    catch (IOException e)
    {
    }

    }
    }
     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);
    }
    }
      

  4.   

    为什么要用TRY 不用那个就运行不了吗?
      

  5.   

    BufferedReader的readLine()会抛出IOException必须要对他捕获 或者再向上抛出
      

  6.   

    建议先看看TRY CATCH 的介绍。
      

  7.   

    java中的异常处理机制很厉害的,编译器强制你去捕获运行时异常,所以这个必须写