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

JAVA第二阶段的作业。

标签:
Java

package hello;
import java.util.Scanner;
public class Initial {

public static void main(String[] args) {
    // TODO Auto-generated method stub

System.out.println("欢迎使用答答租车系统");
System.out.println("您是否需要租车:1是 2否");
Scanner input1 = new Scanner(System.in);
int decision = input1.nextInt();//创建并使用Scanner对象
if(decision==0){System.out.println("欢迎下次光临");}
else
{
System.out.println("您可租车的类型及其价目表");
System.out.println("序号 汽车名称 租金 容量");
dispaly();
}

}
//显示信息
public static  void dispaly()
{ 
//定义了车辆信息数组car_information[],类型为Car 
Car [] car_information={new normalcar("奥迪A6",500,4),new normalcar("马自达6",400,4),new pickup("皮卡雪6",450,2,4),new normalcar("金龙",800,20),new truck("松花江",400,4),new truck("依维柯",1000,20)};
for(int i=0;i<car_information.length;i++)//展示汽车信息
{
    System.out.print(i+1+"   ");
if(car_information[i] instanceof normalcar) ((normalcar)car_information[i]).print(); //判断选取哪一种方法,装换后执行处理,进行了类型转换
if(car_information[i] instanceof pickup) ((pickup)car_information[i]).print(); 
if(car_information[i] instanceof truck) ((truck)car_information[i]).print(); }//上面方法未掌握,很方便,使用instanceof语句来进行判断执行何种方法。

    System.out.println("请输入您要租汽车的数量");
    Scanner input2 =new Scanner(System.in);
    int rent_num=input2.nextInt();//租车的数量
      int sum_num=0;
      int sum_weight=0;
      int sum_price=0;
      int rent[]=new int[100];//后面需要使用,所以不能创建在for循环中
      for(int i=0;i<rent_num;i++)
     {
        System.out.println("请输入第"+(i+1)+"辆车的序号:");
        Scanner input3 =new Scanner(System.in);
        rent[i]=input3.nextInt();//通过创建数组的方式,进行Scanner输入(因为现在已经不是一个变量进行赋值,而是有多个值,构建数组)

       //人数计算
      }
    System.out.println("请输入租车天数:");
    Scanner input4 =new Scanner(System.in);
    int day_num=input4.nextInt();//租车天数
    //输出的是正常汽车和皮卡的载客量 
    System.out.println("您的账单:");
    System.out.println("***可载人的车有:"); 
      for(int i=0;i<rent_num;i++)
      {
          if(car_information[rent[i]-1] instanceof normalcar)//因为数组从0开始,所以需要执行[rent[i]-1]的操作
          {
            ((normalcar)car_information[rent[i]-1]).print();//执行normalcar下的输出函数
            sum_num=sum_num+((normalcar)car_information[rent[i]-1]).getPassenger_num();
          }
          if(car_information[rent[i]-1] instanceof pickup)//因为数组从0开始,所以需要执行[rent[i]-1]的操作
          {
            ((pickup)car_information[rent[i]-1]).print();//执行normalcar下的输出函数
            sum_num=sum_num+((pickup)car_information[rent[i]-1]).getPassenger_num();
          }
      }
      System.out.println("共载人:"+sum_num+"人");
    //输出货车和皮卡的载货量  
      System.out.println("***可载货的车有:"); 
      for(int i=0;i<rent_num;i++)
      {
          if(car_information[rent[i]-1] instanceof truck)
          {
              ((truck)car_information[rent[i]-1]).print();//将货车信息输出
              sum_weight=sum_weight+((truck)car_information[rent[i]-1]).getWeight();
          }
          if(car_information[rent[i]-1] instanceof pickup)
          {
              ((pickup)car_information[rent[i]-1]).print();//将货车信息输出
              sum_weight=sum_weight+((pickup)car_information[rent[i]-1]).getWeight();
          }
      }
      System.out.println("***共载货:"+sum_weight+"吨");
     //最后输出的订单的总价格
      for(int i=0;i<rent_num;i++)
      {
          if(car_information[rent[i]-1] instanceof normalcar)
          {
              sum_price=sum_price+((normalcar)car_information[rent[i]-1]).getPrice_per()*day_num;  
          } 
          if(car_information[rent[i]-1] instanceof truck)
          {
              sum_price=sum_price+((truck)car_information[rent[i]-1]).getPrice_per()*day_num;  
          } 
          if(car_information[rent[i]-1] instanceof pickup)
          {
              sum_price=sum_price+((pickup)car_information[rent[i]-1]).getPrice_per()*day_num;  
          } 
      }
      System.out.println("***租车总价格:"+sum_price+"元");

}
}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消