qq_prisoner_4
2019-03-17 14:19
public class QiChe {
private String name;//车名
private int pnum;//载客
private int hnum;//载人
private int price;//租金
public QiChe(String name, int pnum, int hnum, int price) {
super();
this.name = name;
this.pnum = pnum;
this.hnum = hnum;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPnum() {
return pnum;
}
public void setPnum(int pnum) {
this.pnum = pnum;
}
public int getHnum() {
return hnum;
}
public void setHnum(int hnum) {
this.hnum = hnum;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int sumPirce(int amounts ,int days) {
return amounts*days*price ;
}
}
//子类卡车
public class Trunk extends QiChe{
public Trunk(String name,int pnum,int hnum,int price) {
super(name, pnum, hnum, price);
}
}
//子类小车
public class Car extends QiChe{
public Car(String name, int pnum, int hnum, int price) {
super(name, pnum, hnum, price);
// TODO Auto-generated constructor stub
}
}
//子类皮卡
public class PickUp extends QiChe {
public PickUp(String name, int pnum, int hnum, int price) {
super(name, pnum, hnum, price);
// TODO Auto-generated constructor stub
}
}
//用户使用
import java.util.Scanner;
public class Use {
public static void main(String[] args) {
// TODO Auto-generated method stub
//首先设置车的数据 用对象数组存放
QiChe[] trunks = {new Trunk("丰田货车",0,20,500),new Trunk("暴龙货车",0,10,300),new Trunk("货拉拉",0,8,200)};
QiChe[] cars = {new Car("奥迪A6",8,0,1000),new Car("布加迪威龙",2,0,1500),new Car("一汽大众",5,0,300)};
QiChe[] pickups = {new PickUp("不知道",2,5,300),new PickUp("叫什么",2,8,500),new PickUp("名字",4,10,800)};
System.out.println("welcome to DIDA");
System.out.println("plese choose some type of vehical to use");
System.out.println("请选择:1只载人 2.只拉货 3.拉货且载人 ");
Scanner in1 = new Scanner(System.in);
int input1 = in1.nextInt();
switch(input1) {
case 1:
for(int i= 0;i<trunks.length;i++) {
System.out.println("编号"+i+"车型:"+trunks[i].getName()+" 载人数:"+trunks[i].getPnum()+" 载货数:"+trunks[i].getHnum()+" 租金单日:"+trunks[i].getPrice());
}
break;
case 2:
for(int i= 0;i<cars.length;i++) {
System.out.println("编号"+i+"车型:"+cars[i].getName()+" 载人数:"+cars[i].getPnum()+" 载货数:"+cars[i].getHnum()+" 租金单日:"+cars[i].getPrice());
}
break;
case 3:
for(int i= 0;i<pickups.length;i++) {
System.out.println("编号"+i+"车型:"+pickups[i].getName()+" 载人数:"+pickups[i].getPnum()+" 载货数:"+pickups[i].getHnum()+" 租金单日:"+pickups[i].getPrice());
}
break;
default:System.out.println("请求失败,请重新输入");
}
System.out.println("请输入车辆编号,租车天数,租车数量");
Scanner in2 = new Scanner(System.in);
int k = in2.nextInt();
Scanner in3 = new Scanner(System.in);
int m = in3.nextInt();
Scanner in4 = new Scanner(System.in);
int n = in4.nextInt();
if(input1 ==1) {
QiChe rent = trunks[k];
System.out.print("车型为"+rent.getName());
System.out.println("租金"+rent.getPrice()+"天数"+m+"车数"+n+"总金额为:"+rent.sumPirce(m, n));
}else if (input1 ==2) {
QiChe rent = cars[k];
System.out.print("车型为"+rent.getName());
System.out.println("租金"+rent.getPrice()+"天数"+m+"车数"+n+"总金额为:"+rent.sumPirce(m, n));
}else if(input1 ==3) {
QiChe rent = pickups[k];
System.out.print("车型为"+rent.getName());
System.out.println("租金"+rent.getPrice()+"天数"+m+"车数"+n+"总金额为:"+rent.sumPirce(m, n));
}else {
System.out.println("没有此选项");
}
}
}
载人对应case是1,是car吧;载货对应case是2,是是trunks吧
结果没什么,但是那个switch不要写default,因为你的default会导致程序继续往下执行,而不会向你输出的那样重新输入.还有碰到input.next()的时候程序应该会停止等待用户输入,所以你只要new一次Scanner就可以了,不需要new那么多次.
载人对应case是1,是car吧;载货对应case是2,是是trunks吧
Java入门第二季 升级版
531021 学习 · 6151 问题
相似问题