请认真阅读下面代码,找出程序中的错误并改正。class Teacher{ private String name; private double salary; public void Teacher(String name,double s ){ this.name=name; salary= s;} public double getSalary() { return salary;}public void addSalary(String money) { salary+=money;} public String getName(){return name;}}public class TestDemo{public static void main(String args[]){ //利用构造方法创建对象 Teacher t=new Teacher("王老师",3000);System.out.println(t.name+"加薪前,薪资为:"+t.getSalary()); Teacher .addSalary(3000);//添加薪资 System.out.println("加薪后,薪资为:"+t.getSalary());}}
时间: 2024-01-28 10:05:25 浏览: 41
错误:
1. 构造方法的方法名应该与类名相同,但是代码中的构造方法使用了类名Teacher作为方法名,应该改为Teacher。
2. addSalary方法的参数类型应该为double,但是代码中的参数类型为String,应该改为double。
3. addSalary方法应该作用于具体的某个教师对象,但是代码中却是作用于Teacher类本身,应该改为作用于具体的教师对象。
修改后的代码如下:
```
class Teacher {
private String name;
private double salary;
public Teacher(String name, double s) {
this.name = name;
salary = s;
}
public double getSalary() {
return salary;
}
public void addSalary(double money) {
salary += money;
}
public String getName() {
return name;
}
}
public class TestDemo {
public static void main(String args[]) {
//利用构造方法创建对象
Teacher t = new Teacher("王老师", 3000);
System.out.println(t.getName() + "加薪前,薪资为:" + t.getSalary());
t.addSalary(3000);//添加薪资
System.out.println("加薪后,薪资为:" + t.getSalary());
}
}
```