日期:2014-05-20  浏览次数:20789 次

关于类的问题 谁给我解释下 还是先看下面代码 为什么会出错
/*
编写一个类   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中的异常处理机制很厉害的,编译器强制你去捕获运行时异常,所以这个必须写