一道题的困惑(请教朋友)

07-04-30 lujibiao
我在JC中运行下面程序出现了这些错误:

需要为 class、interface 或 enum 38行(40 42 44 46 48 行)

请问大家这是怎么回事?

public class Test{

public static void main(String args[]){

Test test = new Test();

int date = 9;

BirthDate d1 = new BirthDate(7,7,1970);

BirthDate d2 = new BirthDate(1,1,2000);

test.change1(date);

test.change2(d1);

test.change3(d2);

System.out.println("date=" + date);

d1.display();

d2.display();

}

public void change1(int i){

i = 1234;

}

public void change2(BirthDate b){

b = new BirthDate(24,4,2007);

}

public void change3(BirthDate b){

b.setDay(22);

}

}

class BirthDate{

private int day;

private int month;

private int year;

public BirthDate(int d, int m, int y){

day = d;

month = m;

year = y;

}

public void setDay(int d){

day = d;

}

}

public int getMonth() {

return month;

}

public int getYear() {

return year;

}

public void display() {

System.out.println(day + "-" + month + "-" + year);

}

aegean
2007-05-02 23:32
报的错是因为你的某个大括号好像打错地方了....

而且你的几个change方法很有问题,感觉有C++引用的意味。

你这个问题也放错地方了吧

leadyu
2007-05-03 22:41
你的代码明显多了括号吗,

public void setDay(int d){

day = d;

}

}

看仔细点再来问,而且你的这些个change方法都是无效的,java语言的方法调用是传值而不是传引用。

猜你喜欢