Java 我试图在我的休息时间做一个数组,但我需要尝试将这两个列表链接在一起以打印出来
所以我不得不离开我的大学课程去帮助对付冠状病毒,我正试图在我的休息时间做一个数组,但我需要尝试将这两个列表链接起来打印出来,有人能帮忙吗 我正在努力做到这一点,我理解它的工作原理,但我只需要指出正确的方向Java 我试图在我的休息时间做一个数组,但我需要尝试将这两个列表链接在一起以打印出来,java,arrays,columnsorting,Java,Arrays,Columnsorting,所以我不得不离开我的大学课程去帮助对付冠状病毒,我正试图在我的休息时间做一个数组,但我需要尝试将这两个列表链接起来打印出来,有人能帮忙吗 我正在努力做到这一点,我理解它的工作原理,但我只需要指出正确的方向 public static void main(String[] args) { String [] fastestTimes = new String [10]; double [] athletes = new double [10]; fastestTi
public static void main(String[] args) {
String [] fastestTimes = new String [10];
double [] athletes = new double [10];
fastestTimes [0] = "Richard Thompson";
fastestTimes [1] = "Nesta Carter";
fastestTimes [2] = "Usain Bolt";
fastestTimes [3] = "Asafa Powel";
fastestTimes [4] = "Tyson Ga";
fastestTimes [5] = "Maurice Greene";
fastestTimes [6] = "Justin Gatlin";
fastestTimes [7] = "Christian Coleman";
fastestTimes [8] = "Yohan Blake";
fastestTimes [9] = "Steve Mullings";
athletes [0] = 9.82;
athletes [1] = 9.78;
athletes [2] = 9.92;
athletes [3] = 9.72;
athletes [4] = 9.69;
athletes [5] = 9.79;
athletes [6] = 9.74;
athletes [7] = 9.76;
athletes [8] = 9.69;
athletes [9] = 9.80;
System.out.println("Array Before Bubble Sort");
for(double i=0; i < fastestTimes.length; i++){
System.out.print(fastestTimes[(int) i] + " ");
}
System.out.println();
bubbleSort(fastestTimes);//sorting array elements using bubble sort
System.out.println("Array After Bubble Sort");
for(int i=0; i < fastestTimes.length; i++){
System.out.print(fastestTimes[(int) i] + " ");
}
}
publicstaticvoidmain(字符串[]args){
字符串[]最快时间=新字符串[10];
双人[]运动员=新双人[10];
最快时间[0]=“理查德·汤普森”;
最快时间[1]=“内斯塔·卡特”;
最快时间[2]=“Usain螺栓”;
最快时间[3]=“Asafa Powel”;
最快时间[4]=“泰森Ga”;
最快时间[5]=“莫里斯·格林”;
最快时间[6]=“贾斯汀·加特林”;
最快时间[7]=“克里斯蒂安·科尔曼”;
最快时间[8]=“约汉·布莱克”;
最快时间[9]=“史蒂夫·马林斯”;
运动员[0]=9.82;
运动员[1]=9.78;
运动员[2]=9.92;
运动员[3]=9.72;
运动员[4]=9.69;
运动员[5]=9.79;
运动员[6]=9.74;
运动员[7]=9.76;
运动员[8]=9.69;
运动员[9]=9.80;
System.out.println(“气泡排序前的数组”);
for(双i=0;i
}假设“链接”是指显示每个运动员的速度,请尝试以下方法:
for(int i=0;i
在通过数组的for
循环中,需要索引。索引(i
)是一个int
。如果你把它变成一个double
,那么你就不得不像以前那样毫无目的地施法
假设我对将两个列表“链接”在一起的意思的理解是正确的,那么您可能还想看看java.util.Map
。它就像一本字典,某个东西(键)映射到另一个东西(值)。在真正的词典中,一个词对应于它的定义。如果你知道这个词,你可以找到它的定义
在你的情况下,你可能想考虑将运动员的名字映射到他的时间,而不必携带大约2个列表。
每当您再次停机时,请考虑进一步阅读:)不要使用断开连接的数据集(这是一种复杂且容易出错的方法)来执行此操作,而应该使用OOP(面向对象编程)概念来执行此操作。以下是一个示例,您可以根据自己的要求进一步扩展/定制:
import java.util.Arrays;
import java.util.Comparator;
class Athlete {
private String name;
private double fastestTime;
public Athlete(String name, double fastestTime) {
this.name = name;
this.fastestTime = fastestTime;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getFastestTime() {
return fastestTime;
}
public void setFastestTime(double fastestTime) {
this.fastestTime = fastestTime;
}
@Override
public String toString() {
return "Athlete [name=" + name + ", fastestTime=" + fastestTime + "]";
}
}
public class Main {
public static void main(String[] args) {
Athlete[] athletes = new Athlete[3];
athletes[0] = new Athlete("Richard Thompson", 9.82);
athletes[1] = new Athlete("Nesta Carter", 9.78);
athletes[2] = new Athlete("Usain Bolt", 9.92);
System.out.println("Before sorting:");
for (Athlete athlete : athletes) {
System.out.println(athlete);
}
// Sort the array by fastestTime
Arrays.sort(athletes, Comparator.comparing(Athlete::getFastestTime));
System.out.println("Before sorting:");
for (Athlete athlete : athletes) {
System.out.println(athlete);
}
}
}
输出:
Before sorting:
Athlete [name=Richard Thompson, fastestTime=9.82]
Athlete [name=Nesta Carter, fastestTime=9.78]
Athlete [name=Usain Bolt, fastestTime=9.92]
Before sorting:
Athlete [name=Nesta Carter, fastestTime=9.78]
Athlete [name=Richard Thompson, fastestTime=9.82]
Athlete [name=Usain Bolt, fastestTime=9.92]
定义“链接”。另外,第一个
i
不应该是double
,您不需要castsDon,也不需要使用并行数组。Java是一种面向对象的语言。使用它。创建一个包含2个字段的类,然后创建该类的单个对象数组。