百度到的题目内容和数据来源,也顺便插个眼,有时间的时候玩下其他题目:
研发工程师-编程题(python)_Le_ander的博客-CSDN博客
研发工程师L1Python学习 | 程序员灯塔 (wangt.cc)
python编程考试题目大全_彭_江南的博客-CSDN博客_python编程题
LeetCode,这个神奇的网站听是听过,但本人还是第一次进入,发现也有我做过的题目
推荐两本干货pdf给java新手上路(自行网上寻找):
Java核心技术·卷 I(原书第11版) .pdf
Java核心技术·卷 II (原书第11版).pdf
good,进入正题:
找到的题目基本都是python版本,还发现了我找的题目基本都来源于python经典题目,本人没学过python,发现没有java版本的又需要java实现,唯一找到的实现也是新建实体类啥的非常复杂,在考试中肯定不可能有这么多时间,决定自己手码一下,题目如下:
某公司要针对员工情况统一调薪,现有一个员工列表,包含姓名、职级、工作年限、工资信息。现要求将该列表按以下规则重新排序:
1、职级高的排在前面
2、若职级相同,按工资少的排前面
3、若工资相同,工作年限长的排前面
输入描述:
第一行输入一个整数n,表示员工列表中员工的人数
接下来的n行,分别输入员工的姓名、职级、工作年限和工资信息,各项信息用空格分隔
输出描述:
输出按要求重新排列的员工列表,每名员工信息(姓名、职级、工作年限和工资)占一行
示例
示例1
输入
6
张三 3 3 3000
李四 3 4 3000
王五 3 3 4000
赵六 4 3 3000
陆奇 4 4 4000
闫八 4 4 3980.99
输出
赵六 4 3 3000.00
闫八 4 4 3980.99
陆奇 4 4 4000.00
李四 3 4 3000.00
张三 3 3 3000.00
王五 3 3 4000.00
package cn.lcj.example;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
String[][] list = new String[n][4];
for (int i = 0; i < n; i++) {
for (int j = 0; j < 4; j++) {
list[i][j] = in.next();
/*if (j == 3) {
list[i][j] = String.format("%.2f", Double.parseDouble(list[i][3]));
}*/
}
}
Arrays.sort(list, new Comparator<String[]>() {// 该接口的compare方法,默认为从小到大排序
// 重写该方法
@Override
public int compare(String[] e1, String[] e2) {// 返回值大于0会交换以实现升降序排列
// 如果第二列元素相等,比较第四列元素,如果第四列元素相等,比较第二列
if (e1[1].equals(e2[1])) {
if (e1[3].equals(e2[3])) {
return e2[2].compareTo(e1[2]);// 降序
}
return e1[3].compareTo(e2[3]);// 升序
}
return e2[1].compareTo(e1[1]);// 降序
}
});
/*for (String[] e : list) {
String str = Arrays.toString(e);
System.out.println(str.substring(1, str.length() - 1).replaceAll(",", ""));
}*/
for (int i = 0; i < n; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(list[i][j] + " ");
}
System.out.printf("%.2f%n", Double.parseDouble(list[i][3]));
}
}
}
/* 测试数据
示例1
输入
6
张三 3 3 3000
李四 3 4 3000
王五 3 3 4000
赵六 4 3 3000
陆奇 4 4 4000
闫八 4 4 3980.99
应输出
赵六 4 3 3000.00
闫八 4 4 3980.99
陆奇 4 4 4000.00
李四 3 4 3000.00
张三 3 3 3000.00
王五 3 3 4000.00
*/