类型不匹配
400.0 和 0.3后面都加个fManager mag=new Manager("yaojing","0123466",400.0f);
Seller sel=new Seller("panchen","012355656",400,600,0.3f);

解决方案 »

  1.   

    类型不匹配
    所有数字后面都加个fManager mag=new Manager("yaojing","0123466",400.0f);
    Seller sel=new Seller("panchen","012355656",400.0f,600.0f,0.3f);
      

  2.   

    真是谢谢你了
    为什么会这样呢,难道java自身不能区分float型吗?
      

  3.   

    你输入的数据要加强制转换,或标明为float类型才可以被构造函数接受,我重新写了下,代码如下import java.math.*;class Employee {
            protected String Name;
    protected String ID;
    protected float All_Sal;

    public void show() {
    System.out.println("Having creat a employee");
    }
        
        public void set(String name, String id) {
         Name=name;
         ID=id;
        }    public float All_Sal() { return 0;}
       
       
       public String getName() {
        return Name;
       }
       
       public String getID() {
         return ID;
       }
         
       public void setName(String name) {
         Name=name;
       }
           
       public void setID(String id){
        ID=id;
       }
    }
    class Manager extends Employee {
    private float week_sal;

    public Manager(String name, String id,float ws) {
    setManager(name,id,ws);
    }

        public float All_Sal( ) {
    return week_sal*4;
    }

    public void show() {
        System.out.println("The manager information is:");
        System.out.println("Name: "+getName());
        System.out.println("I D:   "+getID());
        System.out.println("Salary:"+All_Sal());

    }

    public void setManager(String name, String id, float ws) {
    setName(name);
    setID(id);
    if(ws>400)
     week_sal=ws;
    else System.out.println("You had input the fault salary");
    }
     
    } class Seller extends Employee {
    private float Bas_Sal;
    private float Sell_Count;
    private float promate;

    public Seller(String name, String id, float bs, float sc, float pr) {
    setSeller(name,id,bs,sc,pr);
    }

    public void setSeller(String name, String id, float bs, float sc, float pr) {
    setName(name);
    setID(id);
    if(bs>0)
      Bas_Sal=bs;
    if(sc>0)
      Sell_Count=sc;
    if(pr>0&&pr<0.5)
      promate=pr;
        else 
          System.out.println("That is not impossible!The promate is too high!");
          
    }     public void show() {
        System.out.println("The manager information is:");
        System.out.println("Name: "+getName());
        System.out.println("I D:   "+getID());
        System.out.println("Salary:"+All_Sal());

        }     public float All_Sal() {
    return Bas_Sal+Sell_Count*promate;
        }
    }
        
    public class TestEmployee  {
      public static void main(String args[ ] ) {
       Manager mag = new Manager("yaojing","0123466",(float)400.0);
       mag.show();
      
       Seller sel = new Seller("panchen","012355656",400,600,(float)0.3);
            sel.show();
      
       //Jijian jj=new Jijian("johh.bt","10225233",80,500);
       //jj.show();
      
       //Timeworker tw=new Timeworker("jo","111313",100,50,20);
       //tw.show();
      }
      

      

  4.   

    指出不同的文件,你的main中的另两个类是怎么的,
    我帮你调试了,类型不匹配,java是强类型的语言,比C++还强,
    一定要匹配,400.0是double,给float的时候就错了
      

  5.   

    把所有的float换成double,这样就行了