当前位置: 首页 > news >正文

Java-华为真题-预定酒店

需求:

   放暑假了,小王决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店(n>=k>0),并由低到高打印酒店的价格。
 1)酒店价格数组A和小王的心理价位x均为整型数据;(0 < n,k,x < 10000)
 2)优先选择价格最接近心理价位的酒店;若两家酒店和心理价位差价相同,则选择价格较低的酒店。(比如100元和300元距离心理价位200元同样接近,此时选择100元);
3)酒店价格可能相同重复。
输入描述:第一行:n, k, x第二行:A[0] A[1] A[2]…A[n-1]输出描述:由低到高打印筛选出的酒店价格

编码:

public class ReservationHotel {public static void main(String[] args) {//使用useDelimiter()方法,输入一起输入Scanner sc = new Scanner(System.in).useDelimiter("\\D");System.out.print("请输入:");int count=sc.nextInt();int number=sc.nextInt();int money=sc.nextInt();//调用方法show(count,number,money,sc);}/**** @param count 数组长度* @param number 筛选个数* @param money 目标价位*/public static void show(int count,int number,int money, Scanner sc ){//(1)集合存放各个酒店价格数据List<Integer> hotelPriceList = new ArrayList<>();System.out.print("请输入"+count+"个酒店价格:");for (int i = 0; i <count ; i++) {hotelPriceList.add(sc.nextInt());}// (2)根据酒店价格从低到高排序Collections.sort(hotelPriceList,(o1, o2) -> {//心理价位差价int dif1=Math.abs(o1-money);int dif2=Math.abs(o2-money);
//            比较不等if (dif1!=dif2){return Integer.compare(dif1,dif2);}else{return  Integer.compare(o1,o2);}});System.out.println("进行比较后的酒店价格:"+hotelPriceList.toString());//(3)将集合存放各个筛选出number个最接近money元的酒店List<Integer> findPriceList = new ArrayList<>();for (int i = 0; i <number ; i++) {findPriceList.add(hotelPriceList.get(i)); //获取酒店筛选出数据}//(4)再按酒店价格从低到高排序Collections.sort(findPriceList);System.out.println("筛选出最接目标价位"+money+"元的酒店:"+findPriceList.toString());}
}

效果:

http://www.lryc.cn/news/167809.html

相关文章:

  • win10 自带虚拟机软件 虚拟CentOS系统
  • 【深度学习】 Python 和 NumPy 系列教程(十):NumPy详解:2、数组操作(索引和切片、形状操作、转置操作、拼接操作)
  • 3D视觉测量:复现Gocator的间隙面差
  • 文献综述怎么写?(以利用Zotero的文献管理软件为例)
  • 中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)
  • Python文件存读取
  • SpringBoot整合Easy-ES实现对ES操作
  • 让NPU跑起来迅为RK3588开发板设置交叉编译器
  • yyyy-MM-dd‘T‘HH:mm:ssZ的T是什么意思?为什么要用单引号引着
  • SIT1145AQ收发器芯片CAN FD Passive功能详解(摘自官网)
  • 安卓毕业设计各种app项目,Android毕设设计,Android课程设计,毕业论文
  • c++下的ros通信(cmake的报错问题多)
  • 测试必备 | 测试工程师必知的Linux命令有哪些?
  • 成集云 | 药师帮集成英克ERP接口 | 解决方案
  • ICPC 2022 网络赛 d ( 数位dp + 二分
  • 透视俄乌网络战之二:Conti勒索软件集团(下)
  • 网络安全深入学习第一课——热门框架漏洞(RCE-命令执行)
  • 应用在电子体温计中的国产温度传感芯片
  • JVM 虚拟机 ----> Java 内存模型(JMM)
  • 指针-字符串替换
  • docker 网络(单机环境)
  • 14、二叉树的morris遍历等
  • BeanFactory与ApplicationContext
  • 【计算机网络】 粘包问题
  • valgrind massif 详解(内存分配释放分析)
  • 使用命令行创建一个vue项目卡住不动如何解决
  • 七天学会C语言-第一天(C语言基本语句)
  • vue项目部署,出现两个ip的原因
  • 无涯教程-JavaScript - ASIN函数
  • MYSQL的SQL优化