gpt4 book ai didi

java - 在 Java 中对多个 int/String 数组进行排序而不丢失顺序

转载 作者:行者123 更新时间:2023-11-30 06:24:55 25 4
gpt4 key购买 nike

数组:

static String[] names;
static int[] points;
static int[] goals_scored;
static int[] goles_received;

在练习中,我被要求获取分数数组中第二高的数字,然后按名称显示第二高的球队,然后是分数、进球数等,例如:

Name: FC Spain
Points: 50
Goals scored: 43
Goals received: 27

我虽然对数组进行排序,但问题是,如果我对点数组进行排序,那么,点的第二高位置将与名称/目标数组不同,而且我也无法对目标数组进行排序因为最好的团队(例如)不会有最大目标。对吗?

但在另一项练习中,我必须根据逻辑标准(如升序)显示团队的数据,所以我不知道该怎么做。

编辑:此外,用户输入数组可以具有的最大值。

最佳答案

您应该创建一个包含这些字段(姓名、得分、进球数和收到的进球数)的类。然后您应该创建该类的数组。然后创建这些团队。并根据目标对它们进行排序...所以类应该看起来像这样:

public class Team{
private String name;
private int points;
private int goalsScored;
private int goalsRecieved;


public Team(String teamName, int p, int gs, int gr){
this.name = teamName;
this.points = p;
this.goalsScored = gs;
this.goalsRecieved = gr;
}


public int getPoints(){
return this.points;
}

public void setPoints(int points){
this.points = points;
}

public void setName(String name){
this.name = name;
}
}

然后你应该在某处创建该类的数组并按点排序:

public class Main{
public static void main(String[] args){
Team[] teams = new Team[numberOfTeams];
//initialize every team in the array like this:
teams[0] = new Team("Spain", 50, 43, 27);
//and so on for every team
//and then sort them out by teams[index].getPoints();
}
}

关于java - 在 Java 中对多个 int/String 数组进行排序而不丢失顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47379385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com