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

国内知名建筑设计公司镇江seo公司

国内知名建筑设计公司,镇江seo公司,网络规划设计师教程读后感,做网站是否要去工商备案文章目录 代码网址题目用例解答输入多条件查询 优化 代码网址 https://gitee.com/zfranklin/java-intelli-j/blob/master/OD/src/C5My.java 题目 用例 解答 此题考查多条件查询。 输入 身高一行,体重一行,两次循环,可以新增第三列&#…

文章目录

  • 代码网址
  • 题目
  • 用例
  • 解答
    • 输入
    • 多条件查询
  • 优化


代码网址

https://gitee.com/zfranklin/java-intelli-j/blob/master/OD/src/C5My.java

题目

在这里插入图片描述

用例

在这里插入图片描述

解答

此题考查多条件查询。

输入

身高一行,体重一行,两次循环,可以新增第三列,存放学生编号 i+1。因为下标和编号不匹配,用下标可能会忘记加一而出错。

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] students= new int[n][3];
for (int i=0;i<students.length;i++) {students[i][0] = sc.nextInt();
}
for (int i=0;i< students.length;i++) {students[i][1] = sc.nextInt();students[i][2] = i+1;
}

多条件查询

可以用Arrays.sort

Arrays.sort(students,(a,b)->{if (a[0] != b[0]) {return a[0] - b[0];}if (a[1] != b[1]) {return a[1]-b[1];}return a[2]-b[2];
});for (int i=0;i<students.length;i++) {System.out.print(students[i][2]+" ");
}

第一个参数,传递过来的students二维数组,a和b表示任意两个元素,二维数组的元素就是一维数组,其实就是一行。我们去判断下标为0(身高)是否相等,不相等就返回a[0]-b[0],如果小于0,就是a排在b前面,大于0,b排在a前面。如果相等,就进入后续判断,判断体重,同理,最后判断编号。

lambda表达式判断大小sort函数里面有一个函数作为第二个参数,但是这里并没有明显的单独写一个类和方法,而是用lambda表达式

(参数)->{ }

lambda表达式通常与函数式接口一起使用。函数式接口是指只包含一个抽象方法的接口,我们在实现该接口的时候就可以使用此表达式简化书写。

下面给出不用lambda表达式的版本,可以明显看出比较复杂。

class StudentComparator implements Comparator<int[]> {@Overridepublic int compare(int[] a, int[] b) {if (a[0] != b[0]) {return a[0] - b[0];}if (a[1] != b[1]) {return a[1] - b[1];}return a[2] - b[2];}
}

使用

Arrays.sort(students, new StudentComparator());

优化

实现comparator接口除了用if判断,还可以用三目表达式

Arrays.sort(students,(a,b)->{return a[0]!=b[0]?a[0]-b[0]:a[1]!=b[1]?a[1]-b[1]:a[2]-b[2];
});

由于只有一个返回语句,可以省略大括号和return关键字。

Arrays.sort(students, (a, b) -> a[0] != b[0] ? a[0] - b[0] : a[1] != b[1] ? a[1] - b[1] : a[2] - b[2]);

输出
为了避免最后一个数字后面多打印一个空格,我们可以加入判断,不是最后一个i,才打印" "空格,也可以使用StringJoiner。

StringJoiner sj = new StringJoiner(" ");
for (int i=0;i<students.length;i++) {sj.add(String.valueOf(students[i][2]));
}
System.out.println(sj.toString());

这样就可以避免最后一个数后面会跟一个" "空格,只有数与数之间会有空格每隔。

http://www.dtcms.com/wzjs/55921.html

相关文章:

  • 丰县做淘宝网站搜索引擎广告推广
  • 儒枫网网站建设win7最好的优化软件
  • 腾讯云wordpress建站百度助手app下载安装
  • 免费网站空间论坛快速排名提升
  • 去国外怎么导航地图整站优化和单词
  • 广州安全教育平台入口seo怎么发布外链
  • 电子商务网站建设解决方案百度如何搜索关键词
  • 清远市住房和城乡建设局网站加盟教育培训机构
  • 网站建设sem怎么做下载百度手机助手
  • 南京哪家做电商网站b2b电子商务平台
  • 网站域名转发郑州短视频代运营
  • 网站建设网络推广爱站长尾词
  • 免费校园网站建设服务营销策划方案
  • 外贸公司网站案例网站秒收录
  • 滴答手表网站小程序开发公司十大排名
  • 深圳定制网站制作厂家网站设计制作在哪能看
  • 第二课强登陆网站新型智库建设的意见怎么自己建网站
  • jsp网站建设论文上海网站制作开发
  • 做财经比较好的网站有哪些西安疫情最新情况
  • 做电影网站违法优化游戏性能的软件
  • 珠海做公司网站的seo知识总结
  • 网站建设网页设计公司seo视频教程百度云
  • 网站制作费会计分录怎么做网络优化培训骗局
  • 肇庆市电商网站建设价格推广app赚钱
  • 中山网站建设制作 超凡科技2021年重大新闻事件
  • 做外贸网站需要什么条件seo导航
  • 关于电子商务网站建设的现状嘉兴seo外包
  • 扬州公司网站建设网站推广的主要方法
  • div css学习网站百度小说风云榜今天
  • 深圳网站制作联系电话营销推广的作用