//出租车类
public class Taxi{
}public class Taxi1 extends Taxi{
    public static double dRent = 100;
....
}
public class Taxi2 extends Taxi{
    public static double dRent = 200;
....
}
public class Taxi3 extends Taxi{
    public static double dRent = 300;
....
}
//用户类
public class User{
    public boolean hasVipCard;//是否有会员卡
....
}
//计算类
public class CalcPrice(){
    double public doCalc(Taxi taxi,float fDay,User user){
       long lDay =0;
       lDay = java.lang.Math.round(fDay);//四舍五入
       double dSum = taxi.dRent * fDay;
       if ((user.hasVipCard) && (lday>5)){
          dSum = dSum*0.9;
       }
       return dSum;
    }
}

解决方案 »

  1.   

    上面的结构有些问题,调试了一下package com.sss.taxi;
    abstract public class Taxi {
       abstract public double getRent();}
    package com.sss.taxi;
    public class Taxi1 extends Taxi{
        private double dRent ;
        Taxi1(){
           dRent = 100;    }
        public double getRent(){
            return dRent;
        }
    }
    package com.sss.taxi;
    public class Taxi2 extends Taxi{
        private double dRent ;
        Taxi2(){
           dRent = 200;    }
        public double getRent(){
            return dRent;
        }
    }
    package com.sss.taxi;
    public class Taxi3 extends Taxi{
        private double dRent ;
        Taxi3(){
           dRent = 300;    }
        public double getRent(){
            return dRent;
        }
    }package com.sss.taxi;
    public class User {
      public boolean hasVipCard;//是否有会员卡}package com.sss.taxi;
    public class CalcPrice {
       public double  doCalc(Taxi taxi,float fDay,User user){       long lDay =0;
           lDay = java.lang.Math.round(fDay);//四舍五入
           double dSum = taxi.getRent() * fDay;
           if ((user.hasVipCard) && (lDay>5)){
              dSum = dSum*0.9;
           }
           return dSum;
        }
      public static void main(String [] args){
          CalcPrice cp = new CalcPrice();
          Taxi1 taxi1 = new Taxi1();
          User user = new User();
          double dSum = cp.doCalc(taxi1,2,user);
          System.out.println("Price is :"+dSum);
      }
    }
      

  2.   

    表结构:
    1.出租车表T_Taxi(id,rent)  //编号租金
    2.用户表T_User(id,isvip)   //编号,是否VIP
    3.租车表T_Rent(id,user_id,taxi_id,day)  //编号,用户编号,出租车编号
    数据类型我就不写了。
      

  3.   

    拉一个,day表示租车天数。你可以用real或者number类型,加小数点