Arraylist 需要使用java从emp.csv获得最高工资和第二高工资的帮助吗

Arraylist 需要使用java从emp.csv获得最高工资和第二高工资的帮助吗,arraylist,Arraylist,我有一个csv文件,其中有3个条目:emp名称、emp id、名称和工资 罗伯特,33岁,经理,12000 杜瓦尔,23岁,合伙人,6000 基隆,33岁,公元20000年 使用Java程序,我喜欢实现最高工资和第二高工资 公务舱高薪{ public static void highSalary() throws IOException { String record; BufferedReader br = new BufferedReader(new FileReader("

我有一个csv文件,其中有3个条目:emp名称、emp id、名称和工资 罗伯特,33岁,经理,12000 杜瓦尔,23岁,合伙人,6000 基隆,33岁,公元20000年

使用Java程序,我喜欢实现最高工资和第二高工资

公务舱高薪{

public static void highSalary() throws IOException {
    String record;
    BufferedReader br = new BufferedReader(new FileReader("/Users/ak/Documents/emp.csv"));

    System.out.println("\t\t  Max Salary Record\n");

    System.out.println(" ------------------------------------------------------------- ");
    System.out.println("|   Name        Age         Desig       Salary        |");
    System.out.println(" ------------------------------------------------------------- ");

    List<List<String>> arlist = new ArrayList<>();
    // List<String> list = Arrays.asList(a);
    int maxSal = 0;

    while ((record = br.readLine()) != null) {

        String[] words = record.split(",");

        arlist.add(Arrays.asList(words));

        for (int i = 0; i < words.length; i++) {

            if (maxSal <= Integer.parseInt(words[3])) {
                maxSal = Integer.parseInt(words[3]);

            } else {
                maxSal = maxSal;

            }

        }

        System.out.println("From The Salary Largest Number is:" + maxSal);

    }
    br.close();
}
public static void highSalary()引发IOException{
字符串记录;
BufferedReader br=新的BufferedReader(新的文件阅读器(“/Users/ak/Documents/emp.csv”);
System.out.println(“\t\t最大工资记录\n”);
System.out.println(“------------------------------------------------------------------”;
System.out.println(“|姓名年龄设计工资|”);
System.out.println(“------------------------------------------------------------------”;
List arlist=new ArrayList();
//List=Arrays.asList(a);
int-maxSal=0;
而((record=br.readLine())!=null){
String[]words=record.split(“,”);
arlist.add(Arrays.asList(words));
for(int i=0;iif(maxSalSystem.out.println(“来自薪资的最大数字是:“+maxSal”);在循环期间将此保持在外部。

System.out.println(“来自薪资的最大数字是:“+maxSal”)将此项保留在while循环之外。

您需要跟踪两个单独的变量,一个用于最高工资,另一个用于第二高工资。分配最高工资时,前一个最高工资应与第二个最高工资相匹配。分配新的第二高工资时,只有前一个第二高工资将被覆盖

Integer highest = null;
Integer second = null;

while ((record = br.readLine()) != null) {
    String[] words = record.split(",");
    arlist.add(Arrays.asList(words));

    int salary = Integer.parseInt(words[3]);
    if (highest == null) {
        highest = salary;
        second = salary;
    }
    else if (salary > highest) {
        second = highest;
        highest = salary;
    }
    else if (salary > second) {
        second = salary;
    }
}

System.out.println("highest salary: " + highest);
System.out.println("second highest salary: " + second);

您需要跟踪两个单独的变量,一个用于最高工资,另一个用于第二高工资。分配最高工资时,前一个最高工资应与第二个最高工资相冲突。分配新的第二个最高工资时,只应覆盖前一个第二高工资

Integer highest = null;
Integer second = null;

while ((record = br.readLine()) != null) {
    String[] words = record.split(",");
    arlist.add(Arrays.asList(words));

    int salary = Integer.parseInt(words[3]);
    if (highest == null) {
        highest = salary;
        second = salary;
    }
    else if (salary > highest) {
        second = highest;
        highest = salary;
    }
    else if (salary > second) {
        second = salary;
    }
}

System.out.println("highest salary: " + highest);
System.out.println("second highest salary: " + second);

这有助于,如何打印具有最高和第二高工资的员工详细信息?您还需要跟踪此元数据,并在记录最高和/或第二高工资时捕获它。但是,您确实提出了一个新问题。您在上面提出的问题已得到回答。这有助于,如何打印员工有最高和第二高工资的详细信息?您还需要跟踪此元数据,并在记录最高和/或第二高工资时捕获它。但是,您确实在问一个新问题。您在上面问的问题已得到回答。