J'ai besoin d'écrire un programme qui peut Ranking course de 10 partants donc j'ai créé 2 tableauxcomment le classement du temps de course
ID de coureurs (10 coureurs)
temps de course de 10 coureurs (temps de course doit être inférieure ou égale à 20,0 s)
et je trouve que mon algorithme de tri ne peut pas être utilisé correctement, je ne veux pas utiliser Arrays.sort(x);
parce que je dois trier « les temps de course et ID » voici mon code
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] ID = new String[10];
double[] time = new double[10];
for (int i = 0; i < ID.length; i++) {
System.out.print("Please enter ID and times: ");
ID[i] = sc.nextLine();
time[i] = sc.nextDouble();
}
Run a = new Run(ID, time);
System.out.println("Top 3 is ");
a.Sort();
}
}
et
public class Run {
private String[] ID = new String[10];
private double[] time = new double[10];
public Run(String[] ID, double[] time) {
for (int i = 0; i < ID.length; i++) {
this.ID[i] = ID[i];
}
for (int i = 0; i < time.length; i++) {
if (time[i] <= 20.0) {
this.time[i] = time[i];
}
}
}
public void Sort() {
double tem1;
String tem2;
for (int i = 0; i < time.length; i++) {
for (int j = 0; j < time.length; j++) {
if (time[j] > time[j+1]) {
tem1 = time[j];
time[j] = time[j+1];
time[j+1] = tem1;
tem2 = ID[j];
ID[j] = ID[j+1];
ID[j+1] = tem2;
}
}
}
for (int i = 0; i < 3; i++) {
System.out.println(ID[i] + " " + time[i]);
}
}
}
donc je dois savoir pourquoi mon algorithme de tri ne peut pas être utilisé correctement, il est pop une erreur sur ma console.
une question, à l'étage d'entrée quand je première entrée ID et le temps, si je presse comme celui-ci
ID [0] -> ENTR -> temps [0]
alors l'entrée est correct mais si je presse
ID [0] -> Barre d'espace -> temps [0]
alors l'entrée est erroné. Pourquoi? Et comment puis-je le réparer?
Êtes-vous autorisé à utiliser [ 'list'] (https://docs.oracle.com/javase/7/docs/api/ java/util/List.html) et ['Comparable'] (https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html) comme ils sont faits pour votre question? Si oui, je peux poster une réponse expliquant que – Al1