假设你的Double 型变量为d1 和 d2
用d1.doubleValue() + d2.doubleValue() 进行加操作。

解决方案 »

  1.   

    public class test { public static void main(String[] args) {
    double a = 1.0;
    double b = 2.0;
    double c = a + b ;
    System.out.println("c="+c);

    }
    }
    没有问题啊,两个double类型的相加啊,楼主代码是什么?
      

  2.   

    我猜是楼主把两个Double类型相加了,这样当然不行,+通常只用于基本数据类型,因为java不支持运算符重载,只有字符串是个例外,应该这么向 DreamDragon_NEU(梦龙)那样用:假设你的Double 型变量为d1 和 d2
    用d1.doubleValue() + d2.doubleValue() 进行加操作。
      

  3.   

    下面就是源代码:
    //managertest.java
    //演示Employee与Manager的区别
    import java.io.*;
    import java.util.*;
    import java.lang.*;
    public class managertest
    {
      public static void main(String[] args)
      {
        //创建一个新的经理
        manager boss=new manager("非通过",8000,1985,15,20);
        boss.setbonus(5000);
        
        employee[] staff= new employee[3];
        
        //建立员工数据与经理一起填充
        
        staff[0]=boss;
        staff[1]=new employee("斯蒂芬",4000,1983,2,15);
            //打印所有员工的信息
            
          for(int i =0; i<staff.length;i++)
          {
             employee e=staff[i];
             System.out.println("name="+ e.getName()+",  Salary= "+e.getSalary());
             }
          }
      }
      
      
    class employee
      {
         public employee(String n,double s,int year,
            int month,int day)
            {
               name =n;
               Salary = s.doubleValue() ;
                GregorianCalendar Calendar                               
                   = new  GregorianCalendar(year,month-1,day);  
                   //GregorianCalendar 计算月份从0开始      
                                                                       
               HireDay = Calendar.getTime();                         
            }                                                        
                                                                     
     public String getName()                                         
        {                                                            
            return name;                                             
         }                                                           
     public Double getSalary()                                       
       {                                                             
           return Salary;                                            
       }                                                             
     public Date getHireDay()                                        
       {                                                             
           return HireDay;                                           
       }                                                             
                                                                     
      public void raiseSalary(double byPercent)                      
        {                                                            
          double raise = Salary*byPercent/100;                     
          Salary = Salary + raise;                                   
          }                                                          
                                                                     
        public String name;                                          
        public Double Salary;                                        
        public Date HireDay;                                         
                                                                     
        }    
        
      class manager extends employee
        {  
       public manager(String n,double s,int year,int month,int day)
         {
          super(n,s,year,month,day);
          bonus =0;
        }
     
      public Double getSalary()
      {
        Double baseSalary = super.getSalary();
        return baseSalary + bonus;
      }
      
      public void setbonus(double b)
      {
        bonus =b;
      }
       
        private double bonus;
     }
      

  4.   

    Double baseSalary = super.getSalary();
    return baseSalary + bonus;
    关于Double的操作上面已经说的很清楚了你把getSalsry()的返回类型改称double的
    Double是对double的一种封装,它没有‘+’操作
      

  5.   

    楼主,你把Double和double搞混了。
    Double是对象,double是基本数据类型。
    如这个函数:
    public employee(String n,double s,int year,
            int month,int day)
            {
               name =n;
    Salary = new Double(s);
    //           Salary = s.doubleValue() ; 
                GregorianCalendar Calendar                               
                   = new  GregorianCalendar(year,month-1,day);  
                   //GregorianCalendar 计算月份从0开始      
                                                                       
               HireDay = Calendar.getTime();                         
            }                                                        
      

  6.   

    本来想结贴了,只是还想问一下,然后就给分。错误:
    incompatible types
    found  :double
    required : java,.lang,.Double
       Salary = s;
      

  7.   

    你的Salary和s
    一个是Double型的一个是double型的吧
    所以会有类型矛盾这个错误。
      

  8.   

    肯能是Double和double混了吧--
    Double不能+
      

  9.   

    非常感谢还有三个ERROE!1:
    operator + cannot be applied to java.lang.Double,double
       return baseSalary + raise;
    2:
    incompatible types
    found   :java.lang.Double
    Required: double
      double baseSalary = super.getSalary();3:
    incompatible types
    found  :double
    required : java.lang.Double
       return baseSalary + bonus=================================
      

  10.   

    建议你把你程序中所有的Double都替换成double~
    这三个错误都是混淆Double和double造成的
      

  11.   

    我现在都换了那个错误都解决了       Salary = new Double(s);    
    这样表示可以吗?
      

  12.   

    s是double吧,Double是它的包装类,两者不是一回事,当然不能付值了,Salary = new Double(s);    这样就可以了。
      

  13.   

    TO:  DreamDragon_NEU(梦龙)就是说现在运行的时候问题就是出在这里,其他的都换过来了我还应该怎么换?马上给你加分哦!
      

  14.   

    salary是Double类型,而s是double类型
      

  15.   

    to:  zxmzfbdc(也速该把阿秃儿)我现在换了还有点问题怎么改现在?
      

  16.   

    TO:   zhl471(大海) 不好意思我现在都换成double的形式了就是还有点出错!大家一起帮帮吧
      

  17.   

    既然你都换过来了,那问题就应该解决了吧
    "我还应该怎么换?" 是什么意思?
    其它解决方法?
    建议你做一个小的关于Double和double互相联系的程序,在你那个大程序里,理解起来太烦了,自己多体会体会就好了。