首页 > 其他分享 >35.综合练习:买飞机票

35.综合练习:买飞机票

时间:2024-07-19 17:57:01浏览次数:10  
标签:练习 int 飞机票 System 35 month nextInt sc out

//机票价格按照淡季旺季,头等舱经济舱收费
//键盘录入机票原价、月份和仓位
//旺季(5月到10月):头等舱9折,经济舱8.5折
//淡季(11月到下一年的4月):头等舱7折,经济舱6.5折
import java.util.Scanner;

public class 飞机票 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入机票原价:");
        int price = sc.nextInt();
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        System.out.println("请输入仓位(1-头等舱  2-经济舱):");
        int seat = sc.nextInt();
        if (month >= 5 && month <= 10) {
            if (seat==1){
                price=(int)(price*0.9);
            }
            else if (seat==2){
                price=(int)(price*0.85);
            }
            else{
                System.out.println("请正确输入仓位所代表的数字!");
            }
        }else if ((month>=1&&month<=4)||(month>=11&&month<=12)){
            if (seat==1){
                price=(int)(price*0.7);
            }
            else if (seat==2){
                price=(int)(price*0.65);
            }
            else{
                System.out.println("请正确输入仓位所代表的数字!");
            }
        }
        else{
            System.out.println("请正确输入月份!");
        }
        System.out.println("最终票价为:"+price);
    }
}

由于if-else判断语句重复较多,所以采用定义方法来优化代码

优化后代码如下:

import java.util.Scanner;

public class 飞机票 {
   
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入机票原价:");
        int price = sc.nextInt();
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        System.out.println("请输入仓位(1-头等舱  2-经济舱):");
        int seat = sc.nextInt();
        if (month >= 5 && month <= 10) {
            price = getPrice(price, seat, 0.9, 0.85);
        } else if ((month >= 1 && month <= 4) || (month >= 11 && month <= 12)) {
            price = getPrice(price, seat, 0.7, 0.65);
        } else {
            System.out.println("请正确输入月份!");
        }
        System.out.println("最终票价为:" + price);
    }

    public static int getPrice(int price, int seat, double a, double b) {
        if (seat == 1) {
            price = (int) (price * a);
        } else if (seat == 2) {
            price = (int) (price * b);
        } else {
            System.out.println("请正确输入仓位所代表的数字!");
        }
        return price;
    }
}

标签:练习,int,飞机票,System,35,month,nextInt,sc,out
From: https://blog.csdn.net/weixin_71068901/article/details/140555046

相关文章

  • 2024.7.19 近期练习
    CF623B考虑枚举\(\gcd=d\),我们先假设没有\(a\)操作,所有数都需要\(b\)操作来实现。那么,形如\(kd\pm1\)的数需要代价为\(b\),\(kd\)的数无需代价,然而可能存在没法通过\(b\)操作被\(d\)整除的数。若没有上述数呢,我们现在加入\(a\)操作,这是一个最大子段和问题,求出一......
  • 编译下载ma35固件
    编译ma35固件1、gitclone源码官方git仓库https://github.com/OpenNuvoton/MA35D1_Buildroot2、编译执行makenumaker_iot_ma35d16f90_defconfig使用makemenuconfig配置buidroot。使用makesavedefconfig把配置的.config文件保存回到defconfig。MA35D1芯片支......
  • 用pandas查看牛客网用户数据(python练习)
    现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):Nowcoder_ID:用户IDLevel:等级Achievement_value:成就值Num_of_exercise:刷题量Graduate_year:毕业年份Language:常用语言你可以使用pandas打开文件,偷偷看一下里面的内容,请输出你看......
  • 练习rsync实时同步(day09)
    安装inotify:[root@aa~]#yum-yinstallinotify-tools编写脚本:[root@aa~]#vimrsync.sh  修改执行权限:[root@aa~]#chmod700rsync.sh 另一台终端:[root@aa~]#rm-rf/app/studentweb/src/main/java/co/goho/yuanyu.studentweb/File4.java [root@aa~......
  • Javase-8.数组的练习
    1.查找数组中指定元素(二分查找)以升序数组为例,二分查找的思路是先取中间位置的元素,然后使用待查找元素与数组中间元素进行比较:如果相等,即找到了返回该元素在数组中的下标如果小于,以类似方式到数组左半侧查找如果大于,以类似方式到数组右半侧查找pub......
  • [1035] Extract the content from online PDF file or PDF url
    Certainly!WhenworkingwithonlinePDFsusingthepyPDF2libraryinPython,youcanretrievethecontentfromaPDFfilehostedataURL.Let’sexploreacoupleofwaystoachievethis:Usingrequests(Python3.xandhigher):Ifyou’reusingPython3.x......
  • Java语言,MySQL数据库;基于Node+Vue的健康信息管理系统的设计与实现32355(免费领源码)计算
    Node.js健康信息管理系统的设计摘要在如今IT技术快速发展和Internet广泛应用的时代,电子和网络技术给人们生活带来了便利,同时也会直接或间接损害人们的健康。所以,本次的毕业设计创作的意义就是通过信息化的统一管理,给用户录入和查看健康信息提供了方便。本设计主要实现集人......
  • 735-基于3U VPX的AGX Xavier GPU计算主板
    基于3UVPX的AGXXavierGPU计算主板 一、板卡概述     基于3UVPX的JetsonAGXXavier GPU计算主板是LINUX环境下软件开发等理想工具。拥有VPX标准连接器和特性的接口。是用于视频处理,相机信号,支持PCIE、USB、RS422、RS232、网口、SPI、I2C等综合性......
  • 学习c语言第八天(函数练习)
    1.打印100-200之间的素数#define_CRT_SECURE_NO_WARNINGS打印100-200之间的素数循环方法#include<stdio.h>#include<math.h>intmain(){ inti=100; while(i<=200) { intx=2; while(x<=i) { if(i%x!=0) { x++; if(x==i) ......
  • 【THM】Mr Robot CTF练习
    【THM】MrRobotCTF练习基于电视剧《黑客军团》,你能得到这个靶机的根权限吗?你能得到这台黑客军团风格靶机的根权限吗?这是一个适用于初学者/中级用户的虚拟机。机器上有3个隐藏的钥匙,你能找到它们吗?感谢LeonJohnson创造了这台靶机。本机器在创建者的明确许可下在此处使用......