| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1022 人关注过本帖
标题:大虾们,java java
只看楼主 加入收藏
浪群
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2011-8-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
大虾们,java java
题目:计算各种交通工具的运输费用,定义一个接口:Vehicle:包括,yuan_kilometer,distance,roadtoll,ridership(乘客数),还有一个计费方法。
现有两种交通工具:Car:计费方式:yuan_kilometer*distance+roadtoll+ridership*1
Bus:计费方式:yuan_kilometer*distance+roadtoll+ridership*0.2
我的代码如下:
package traspotecharging;
public interface Vehicle {
    float yuan_kilometer=0f;
    float distance=0f;
    float roadtoll=0f;
    int ridership=0;
    public double charge();
}

package traspotecharging;
public class Bus implements Vehicle{
    float yuan_kilometer;
    float distance;
    float roadtoll;
    int ridership;
    Bus(){}
    Bus(float a,float b,float c,int d){
          this.yuan_kilometer=a;
          this.distance=b;
          this.roadtoll=c;
          this.ridership=d;
      }
    public double charge(){
          return this.distance*this.yuan_kilometer+this.roadtoll+this.ridership*0.2;
      }
}

package traspotecharging;
public class Car implements Vehicle{
    float yuan_kilometer;
    float distance;
    float roadtoll;
    int ridership;
    Car(){}
    Car(float a,float b,float c,int d){
          this.yuan_kilometer=a;
          this.distance=b;
          this.roadtoll=c;
          this.ridership=d;
      }
    public double charge(){
          return this.distance*this.yuan_kilometer+this.roadtoll+this.ridership;
      }
}

package traspotecharging;
import java.util.Scanner;
public class Charge {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        float a=sc.nextFloat();
        int d=sc.nextInt();
        float b=sc.nextFloat();
        float c=sc.nextFloat();
        System.out.println("请输入交通工具:");
        char op=sc.next().charAt(0);
        Vehicle charge=null;
        switch(op){
        case 'b': charge=new Bus(a,b,c,d);
        break;
        case 'c': charge=new Car(a,b,c,d);
        break;
        }
        System.out.println(charge.charge());
    }
}
现在问题是要求增加其他交通工具时,不必改动以前的任何程序,只需要编写新的交通工具。(具体应该是用那什么哈希表之类的存在文件中,通过文件读入,加入新的交通工具,只需在文件中增加这项就可)
求助各位大虾们!!!  万分感谢!!!
搜索更多相关主题的帖子: java 运输费用 interface distance package 
2011-09-28 18:59
浪群
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2011-8-29
收藏
得分:0 
大虾们··   给点力啊 !!!  
2011-09-29 20:39
付政委
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2011-09-29 20:39
husiwen
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:227
专家分:1125
注 册:2010-5-23
收藏
得分:2 
用序列化。。可整个交通工具序列化到文件中。。要加新的时候。反序列化出来加好。再序列化到文件中去。。。

一些小型学生管理系统。不用数据库。就是可以用序列化做的
2011-10-01 13:58
浪群
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2011-8-29
收藏
得分:0 
回复 3楼 付政委
额··  好吧!!    那你按照这上面的题目  ,不看代码  给我写一个啦·· (*^__^*) 嘻嘻……
2011-10-01 17:40
浪群
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2011-8-29
收藏
得分:0 
回复 4楼 husiwen
  序列化??    不懂···         我看老师做得时候是存一个xml文件     然后增加新的交通工具时只需在xml文件中加就行!
2011-10-01 17:44
kinglovelqn
Rank: 2
等 级:论坛游民
帖 子:5
专家分:25
注 册:2011-5-29
收藏
得分:18 
不知道我说的对不对  听楼主的意思是把车名存在xml文件中,以后添加的时候也在xml文件里添加,然后用的时候存xml文件里读取车名进行运算
Traspost.xml
<?xml version="1.0" encoding="GB2312"?>   
<RESULT>   
<VALUE>     
  <TS>Car</TS>     
</VALUE>   
<VALUE>     
  <TS>bus</TS>   
</VALUE>   
</RESULT>   


然后写一个方法读取xml文件
public String ReaderTS()
{
   String Car = null;
  try {   
      File f = new File("Transpost.xml");   
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();   
      DocumentBuilder builder = factory.newDocumentBuilder();   
      Document doc = builder.parse(f);   
      NodeList nl = doc.getElementsByTagName("VALUE");
      for (int i = 0; i < nl.getLength(); i++) {
          Car=doc.getElementsByTagName("TS").item(i).getFirstChild().getNodeValue();   
        
       }
        } catch (Exception e) {   
            e.printStackTrace();   
        }
       return Car;
}
然后就可以对Car进行运算了

新书建议,见笑,见笑
2011-10-02 11:15
浪群
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2011-8-29
收藏
得分:0 
回复 7楼 kinglovelqn
    人才!!!  (*^__^*) 嘻嘻……    分就给你啦·
2011-10-05 07:41
w123012306
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:蜘蛛侠
威 望:4
帖 子:307
专家分:1180
注 册:2010-4-22
收藏
得分:0 
你要我们做什么??

楼上,楼下的一定要幸福开心哦!
2011-10-05 09:14
浪群
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2011-8-29
收藏
得分:0 
回复 9楼 w123012306
          难道要我翻译成鸟语你才看得懂?? (*^__^*) 嘻嘻……
2011-10-07 13:52
快速回复:大虾们,java java
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017684 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved