老师帮看下代码,编译执行都没问题
本帖最后由 小甲鱼徒弟 于 2017-6-15 04:06 编辑编译没报错执行也能打印,唯一的问题是雇员职位(job)返回值为空(null),本人新手查不出问题在哪请老师帮忙看看,很简单的代码很多都是重复就没写备注,应该能看懂
class Emp{
private int empno ;
private String ename ;
private String job ;
private double sal ;
private double comm ;
public Emp(){}
public Emp(int eno, String ena, String j, double s, double c){
setEmpno(eno);
setEname(ena);
setJob(job);
setSal(s);
setComm(c);
}
public String getlnfo(){
return "雇员编号: "+ empno +"\n" +
"雇员姓名: "+ ename +"\n" +
"雇员职位: "+ job +"\n" +
"基本工资: "+ sal +"\n" +
"佣 金: "+ comm ;
}
public void setEmpno(int eno){
empno = eno ;
}
public void setEname(String ena){
ename = ena ;
}
public void setJob(String j){
job = j ;
}
public void setSal(double s){
sal = s ;
}
public void setComm(double c){
comm = c ;
}
public intgetEmpno(){
return empno ;
}
public String getEname(){
return ename ;
}
public String getJob(){
return job ;
}
public double getSal(){
return sal ;
}
public double getComm(){
return comm ;
}
}
public class TestDemo{
public static void main(String args[]){
Emp emp = new Emp(7399 ,"李媛媛" , "CEO",8341.0 , 0.02);
System.out.println(emp.getlnfo());
}
} Emp类里的构造方法参数名写错了。 参数名是j, 而setJob(job)
public Emp(int eno, String ena, String job, double s, double c){
setEmpno(eno);
setEname(ena);
setJob(job);
setSal(s);
setComm(c);
}
public String getlnfo(){
return "雇员编号: "+ empno +"\n" +
"雇员姓名: "+ ename +"\n" +
"雇员职位: "+ job +"\n" +
"基本工资: "+ sal +"\n" +
"佣 金: "+ comm ;
} public Emp(int eno, String ena, String j, double s, double c){
setEmpno(eno);
setEname(ena);
setJob(job);
setSal(s);
setComm(c);
} public Emp(int eno, String ena, String j, double s, double c) {
setEmpno(eno);
setEname(ena);
setJob(j);
setSal(s);
setComm(c);
} public Emp(int eno, String ena, String j, double s, double c){
setEmpno(eno);
setEname(ena);
setJob(job);
setSal(s);
setComm(c);
}中的set(job)方法里面的job为空,导致出现为空的情况,把j改为job即可,另外遇到这种数据方面的错误,可以打断点进行调试哦
页:
[1]