一个简单的java程序不能运行了,应该怎么改。错在哪里,为什么

下面是我完完全全打在eclipse里面的一个叫Test.java的文件里。但是有好多错误。请指正
class BirthDay {

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 void setMonth(int m){
month=m;
}

public void setYear(int y){
year=y;
}

public int getDay(){
return day;
}

public int getMonth(){
return month;
}

public int getYear(){
return year;
}

public void display(){
System.out.println(day+"-"+month+"-"+year);
}

public class Test{
public static void main(String args[]){
Test test = new Test();
int date = 9;
BirthDate d1 = new BirthDate(7,7,1980);
BirthDate d2 = new BirthDate(7,3,1990);
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(22,2,2003);
}

public void change3(BirthDate b){
b.setDate(22);
}

}

class BirthDay {

private int day;
private int month;
private int year;

public BirthDay(int d, int m, int y) { //构造方法的名要跟类名一致
day = d;
month = m;
year = y;
}

public void setDay(int d) {
day = d;
}

public void setMonth(int m) {
month = m;
}

public void setYear(int y) {
year = y;
}

public int getDay() {
return day;
}

public int getMonth() {
return month;
}

public int getYear() {
return year;
}

public void display() {
System.out.println(day + "-" + month + "-" + year);
}

}

public class Test { // 这个类错误比较多,我直接给你改了。你自己对照一下。
public static void main(String args[]) {
Test test = new Test();
int date = 9;
BirthDay d1 = new BirthDay(7, 7, 1980);
BirthDay d2 = new BirthDay(7, 3, 1990);
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(BirthDay b) {
b = new BirthDay(22, 2, 2003);
}

public void change3(BirthDay b) {
b.setDay(22);
}

}

----------------------------
有问题联系我^^
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-15
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 void setMonth(int m){
month=m;
}

public void setYear(int y){
year=y;
}

public int getDay(){
return day;
}

public int getMonth(){
return month;
}

public int getYear(){
return year;
}

public void display(){
System.out.println(day+"-"+month+"-"+year);
}

}

public class Test{
public static void main(String args[]){
Test test = new Test();
int date = 9;
BirthDate d1 = new BirthDate(7,7,1980);
BirthDate d2 = new BirthDate(7,3,1990);
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(22,2,2003);
}

public void change3(BirthDate b){
b.setDay(22);
}
}

这样改就对了
错误主要原因
类里面可以嵌套内部类,但是,你的做法感觉还是两个类,一个主类,一个测试类
/构造方法必须和类的名字是一样的
相似回答
大家正在搜