鱼C论坛

 找回密码
 立即注册
查看: 3438|回复: 4

[已解决]老师帮看下代码,编译执行都没问题

[复制链接]
发表于 2017-6-15 04:01:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小甲鱼徒弟 于 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 int  getEmpno(){
                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());
                }
               
        }
最佳答案
2017-6-15 10:49:22
Emp类里的构造方法参数名写错了。 参数名是j, 而setJob(job)
  1. public Emp(int eno, String ena, String job, double s, double c){
  2.                 setEmpno(eno);
  3.                 setEname(ena);
  4.                 setJob(job);
  5.                 setSal(s);
  6.                 setComm(c);
  7.         }
  8.         public String getlnfo(){
  9.                 return "雇员编号: "+ empno +"\n" +
  10.                            "雇员姓名: "+ ename +"\n" +
  11.                            "雇员职位: "+ job +"\n" +
  12.                            "基本工资: "+ sal +"\n" +
  13.                            "佣   金: "+ comm ;
  14.         }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-15 10:49:22 | 显示全部楼层    本楼为最佳答案   
Emp类里的构造方法参数名写错了。 参数名是j, 而setJob(job)
  1. public Emp(int eno, String ena, String job, double s, double c){
  2.                 setEmpno(eno);
  3.                 setEname(ena);
  4.                 setJob(job);
  5.                 setSal(s);
  6.                 setComm(c);
  7.         }
  8.         public String getlnfo(){
  9.                 return "雇员编号: "+ empno +"\n" +
  10.                            "雇员姓名: "+ ename +"\n" +
  11.                            "雇员职位: "+ job +"\n" +
  12.                            "基本工资: "+ sal +"\n" +
  13.                            "佣   金: "+ comm ;
  14.         }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-19 16:19:30 | 显示全部楼层
  public Emp(int eno, String ena, String j, double s, double c){
                setEmpno(eno);
                setEname(ena);
                setJob(job);
                setSal(s);
                setComm(c);
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-20 08:59:15 | 显示全部楼层
public Emp(int eno, String ena, String j, double s, double c) {
                setEmpno(eno);
                setEname(ena);
                setJob(j);
                setSal(s);
                setComm(c);
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-19 10:17:05 | 显示全部楼层
       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即可,另外遇到这种数据方面的错误,可以打断点进行调试哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 17:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表