only_once_today
2017-03-15 19:14
怎么没项目的代码啊
拿去,,这是我的,你直接复制粘贴到你的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);
}
}
这只是一个简单练习,先尝试自己写一下
自己写一个吧
自己先写一个
Java入门第二季 升级版
530653 学习 · 6091 问题
相似问题