package com.imooc2;
import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;
public class Initail {
public static void main(String args[]){
System.out.println("欢迎使用答答租车系统!");
System.out.println("您是否要租车?租车请输入1,不租车请按2。");
Scanner input=new Scanner(System.in);//获取是否租车的信息
int n=input.nextInt();
switch(n){
case 1:
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号 汽车名称 租金 汽车容量");
System.out.println("1. 奥迪A4 ¥500/天 载人:4人");
System.out.println("2. 马自达6 ¥400/天 载人:4人");
System.out.println("3. 皮卡雪6 ¥450/天 载人:4人,载货:2吨");
System.out.println("4. 金龙 ¥800/天 载人:20人");
System.out.println("5. 松花江 ¥400/天 载货:4吨");
System.out.println("6. 依维柯 ¥1000/天 载货:20吨");
System.out.println("请输入您要租车的数量:");
break;
default:
System.out.println("欢迎您再次使用答答租车系统");
break;
}
Scanner input2=new Scanner(System.in);//获取租车数量,记为num
int num=input2.nextInt();
String zairen[]=new String[10];//存放载人汽车名称
String zaihuo[]=new String[10];//存放载货汽车名称
int money[]=new int[30];//存放每辆车租金的数组
int sumren=0;//租车能载人的总数量
int sumhuo=0;//租车能载货的总吨数
for(int i=1;i<=num;i++){//让用户选择租车的车型
System.out.println("请输入第"+i+"辆车的序号");
Scanner input3=new Scanner(System.in);//获取消费者租车型号
int num1=input3.nextInt();
switch(num1){//根据输入的车辆型号,在数组中保存相应的信息
case 1:
zairen[i]="奥迪A4";
money[i]=500;
sumren=sumren+4;
break;
case 2:
zairen[i]="马自达6";
money[i]=400;
sumren=sumren+4;
break;
case 3:
zairen[i]="皮卡雪6";
zaihuo[i]="皮卡雪6";
money[i]=450;
sumren=sumren+4;
sumhuo=sumhuo+2;
break;
case 4:
zairen[i]="金龙";
money[i]=800;
sumren=sumren+20;
break;
case 5:
zaihuo[i]="松花江";
money[i]=400;
sumhuo=sumhuo+4;
break;
case 6:
zaihuo[i]="依维柯";
money[i]=1000;
sumhuo=sumhuo+20;
break;
default:
System.out.println("请输入租车价目表中的汽车序号!");
break;
}
}
System.out.println("请输入租车天数:");
Scanner input4=new Scanner(System.in);//获取租车天数
int num2=input4.nextInt();
int daymoney=0;//一天租车租金
for(int j=0;j<money.length;j++){//统计所租车辆一天的租金
daymoney+=money[j];
}
int summoney=num2*daymoney;//计算租金总额
System.out.println("您的账单:");
System.out.println("***可载人的车有:");
Set<String> set1=new HashSet<String>();//创建一个HashSet
for(String s:zairen){//将zairen数组中的元素放到set中,通过set去除相同的汽车名称
set1.add(s);
}
zairen=set1.toArray(new String[0]);//将set转换成数组,并将去除重复后的新数组赋给zairen
for(int i=0;i<zairen.length;i++){//输出数组中除null以外的值
if(zairen[i]!=null)
System.out.print(" "+zairen[i]);
}
System.out.println(" 共载人: "+sumren+"人");
System.out.println("***可载货的车有:");
Set<String> set2=new HashSet<String>();//创建一个HashSet
for(String s:zaihuo){//将zaihuo数组中的元素放到set中
set2.add(s);
}
zaihuo=set2.toArray(new String[0]);//将set转换成数组,并将去除重复后的新数组赋给zaihuo
for(int i=0;i<zaihuo.length;i++){//输出数组中除null以外的值
if(zaihuo[i]!=null)
System.out.print(" "+zaihuo[i]);
}
System.out.println(" 共载货: "+sumhuo+"吨");
System.out.println("租车总价格: "+summoney);
}
}
这个程序虽然结构比较简单,没用到继承、借口什么的,但是基本功能都实现了。并且让我满意的一点是,当重复租一辆车时,在最后的账单中,重复租的车的名字也只会出现一次。
如果有人看到我的代码的话,还请多多指教。
热门评论
重复租的车的名字也只会出现一次我做不到这一点