找出下列代码7处错误public class Date { private int year, month, day; public void Date(int y,int m,int d) { //定义有参构造方法 year=y; month=m; day=d; } public Date(){ //定义无参构造方法 Date(2018,6,15); } public void setMonth(int month) {//给成员变量month赋值 month=month; } public int getMonth(){ returm month; } public void print(){ System.out.println("date is "+ this.year+"-"+this.month+"-"+this.day); } public void main(String args[]){ Date oday = new Date(2018,7); print(); } }
时间: 2024-01-12 07:05:28 浏览: 71
这段代码中存在以下七处错误:
1. 类名Date与Java内置的类名重复,应该更换类名。
2. 构造方法Date应该是一个无返回值的方法,而不是一个有返回值的方法,因此应该去掉返回类型void。
3. 无参构造方法Date中应该调用有参构造方法Date,而不是直接调用构造方法,应该使用this关键字来调用有参构造方法,即this(2018,6,15)。
4. setMonth方法中的参数名与成员变量名相同,应该使用this关键字来表示成员变量,即this.month = month。
5. getMonth方法中的return语句拼写错误,应该是return而不是returm。
6. print方法中的this.year应该改为this.year,因为year是一个成员变量而不是一个局部变量。
7. main方法应该是一个静态方法,而不是一个实例方法。因此应该添加static关键字。
修改后的代码如下:
```
public class MyDate {
private int year, month, day;
public MyDate(int y, int m, int d) {
year = y;
month = m;
day = d;
}
public MyDate() {
this(2018, 6, 15);
}
public void setMonth(int month) {
this.month = month;
}
public int getMonth() {
return month;
}
public void print() {
System.out.println("date is " + this.year + "-" + this.month + "-" + this.day);
}
public static void main(String args[]) {
MyDate oday = new MyDate(2018, 7, 1);
oday.print();
}
}
```
阅读全文