为了账号安全,请及时绑定邮箱和手机立即绑定

求大神们解答

有没有答答租车系统的正确的完整代码

正在回答

3 回答

拿去,,这是我的,你直接复制粘贴到你的eclipse里面 就能运行,如果你觉得好 就采纳一下呗

/**
 * @author Allbet,请记住我 啊 哈哈
 * @date 2017年4月29日17:50:52
 * 只写了两个车型,车型再多都一样,关键就是设计第一个车型的类,其他车型的类 copy 就ok
 */
import java.util.Random;
import java.util.Scanner;


//测试类
//请无视中文类名,我为了方便以后查找知识点,测试类都写了中文
public class 答答租车系统 {
 //打印租车信息 封装成一个函数,代码复用
 public static void show(Bmw bmw,Blhg blhg ){
  System.out.println("            实时更新车型的具体信息");
  System.out.println("车型 |   载货量   |   租金   |载人数 | 库存数");
  System.out.println(bmw.name+"  "+bmw.weight+"    "+bmw.money+"   "+bmw.peopleNum+"   "+bmw.CarNum);
  System.out.println(blhg.name+" "+blhg.weight+"   "+blhg.money+"  "+blhg.peopleNum+"      "+blhg.CarNum);
 }
 public static void main(String[] args) {
  
  //创建小车车的对象
  Bmw bmw = new Bmw() ;
  Blhg blhg = new Blhg() ;
    
  //勾画low到爆的界面。。。
  System.out.println("------------欢迎使用答答租车系统---------------");
  show(bmw,blhg) ;
  
  String str = "" ;
  Scanner in = new Scanner(System.in) ;
  while(true){  //输入Allbet 退出系统
   
   System.out.println("请输入你要租的车型:");
   str = in.nextLine();
   
   if("宝马x7".equals(str)){
    System.out.println("请输入你要租的数量");
    bmw.get(in.nextInt()) ;
    in.nextLine() ;
   }
   else if (str.equals("五菱宏光")){
    System.out.println("很有眼光嘛 今晚邱鸣山见。。");
    System.out.println("请输入你要租的数量");
    blhg.get(in.nextInt()) ;
    in.nextLine() ; //清除回车符
   }
   else if(str.equals("Allbet")){  //输入Allbet 退出系统
    System.out.println("欢迎你的再次使用-----------Allbet");
    break ;
   }
   else{
    String[] a = {
      "大哥 ,是你眼神不好,还是我写的程序的提示太少",
      "目前 只有宝马x7 五菱宏光。你给我来个"+str+"!!!!",
      "你再输错,就别用了啊 。。烦请看清楚再输入!!"
      };
    System.out.println(a[new Random().nextInt(3)]);
   }
   show(bmw,blhg) ;
  }
  in.close() ;
  
  //给出 库存 车型 租金 。。
  System.out.println();
  System.out.println("总租金 |   总载货量   |   车型   |总载人数 | 租车数量");
  System.out.println();
  //打印租车单据
  bmw.show() ;
  blhg.show() ;
  System.out.println("\n请收好你的单据");
 
  
 }
}


//定义一个接口,为所有的车 指定规则
// 这里不用接口的原因 是接口中的数据域 默认是 final 和 static 的,这样导致我们无法在实现类中修改数据了
class Car {
  double money ; //租金
  String name ;  //车型
  double weight ; //载货量
  int peopleNum ; //载人数
  int num ;  //租车数量
  public void get(int num){} ;  //取车
  public void show(){} ;  //打印租车清单
}
//宝马
class Bmw extends Car{
 //随机生成 ( 0,30】 的整数 代表宝马车的库存量
 //随机数的用法,目前只要会用 就好。具体的百度
 public static int CarNum = new Random().nextInt(30)+1 ;
 
 //对变量的赋值,只能在方法或者 代码块中 进行,因此这里需要刮号括起来
 {
  money = 250 ;
  name = "宝马" ;
  weight = 120.5 ;
  peopleNum = 4 ;
 }
 
 @Override
 public void get(int num) {
  //判断库存是否足够
  if(num<0){
   System.out.println("跟我扯犊子呢 给我来个负数?!!");
  }
  else if(CarNum<num){  //表明库存不够
   System.out.println("--------租车失败,你要租的车辆数目大于库存量-----------");
   System.out.println(" 请你重新考虑租的数辆,或者选择其他的车型,五菱宏光怎么样?");
   return ; //表示结束方法。对了 这里告诉大家,并不是void返回类型的方法中,就不存在return了,
      //其实每个void 返回类型方法,最后都默认有一句 return ;
  }
  else{
   this.num = num ;    //this的一种常见用法,千万不要试图去两个不同的名字来完成赋值,那样很low
   System.out.println("--------- 租车成功,祝你有个愉快的使用体验  -----------");
   CarNum-=num ;  //更新宝马车的库存量
  }
 }
 @Override
 public void show() {
  //这为了格式好看 我调半天
  System.out.println(money*num+" \t "+weight*num+"\t     宝马x7    "+peopleNum*num+"   \t"+num);
 }
 
}
//五菱宏光
class Blhg extends Car{
 //随机生成 ( 0,30】 的整数 代表宝马车的库存量
 //随机数的用法,目前只要会用 就好。具体的百度
 public static int CarNum = new Random().nextInt(30)+1 ;
 
 //对变量的赋值,只能在方法或者 代码块中 进行,因此这里需要刮号括起来
 {
  money = 360 ;
  name = "五菱宏光" ;
  weight = 287.6 ;
  peopleNum = 8 ;
 }
 
 @Override
 public void get(int num) {
  //判断库存是否足够
  if(num<0){
   System.out.println("跟我扯犊子呢 给我来个负数?!!");
  }
  else if(CarNum<num){  //表明库存不够
   System.out.println("--------租车失败,你要租的车辆数目大于库存量-----------");
   System.out.println("  请你重新考虑租的数辆,或者选择其他的车型");
   return ; //表示结束方法。对了 这里告诉大家,并不是void返回类型的方法中,就不存在return了,
      //其实每个void 返回类型方法,最后都默认有一句 return ;
  }
  else{
   this.num = num ;    //this的一种常见用法,千万不要试图去两个不同的名字来完成赋值,那样很low
   System.out.println("--------- 租车成功,祝你有个愉快的使用体验  -----------");
   CarNum-=num ;  //更新丘明山车身座驾的库存量
  }
 }
 @Override
 public void show() {
  
  System.out.println(money*num+" \t "+weight*num+"\t     五菱宏光    "+peopleNum*num+"   \t"+num);
 }
 
}



0 回复 有任何疑惑可以回复我~
#1

慕粉1336133892 提问者

你学了多久啊,都会自己写程序了
2017-05-02 回复 有任何疑惑可以回复我~
#2

没了哆啦A梦的大熊 回复 慕粉1336133892 提问者

现在学完接口了。我是以前学过C
2017-05-03 回复 有任何疑惑可以回复我~
#3

没了哆啦A梦的大熊 回复 慕粉1336133892 提问者

因为以前学过刷编程语言,所以学的快一点
2017-05-03 回复 有任何疑惑可以回复我~
#4

没了哆啦A梦的大熊 回复 慕粉1336133892 提问者

要是感觉代码还凑合,可以采纳一下
2017-05-03 回复 有任何疑惑可以回复我~
查看1条回复

在最后一节的评论下面有很多同学贴出了自己的代码链接

这是其中一个:http://www.imooc.com/article/17384

求采纳。。

0 回复 有任何疑惑可以回复我~

meiyou

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

求大神们解答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信