Mon programme permet à l'utilisateur d'entrer plusieurs fois des résultats de correspondance jusqu'à ce que l'utilisateur entre «stop», puis les résultats sont affichés. J'ai juste besoin de trouver la valeur d'entrée la plus élevée dans mon arraylist 'stats [2]', qui est le 'score d'hometeam'. Donc, si l'utilisateur entre 3 entrées, "Manchester City: Manchester United: 2: 1 ... Chelsea: Arsenal: 0: 1 ... Everton: Liverpool: 1: 1" alors il devrait afficher le nombre '2' comme c'est la valeur la plus élevée dans ce tableau. si ça a du sens? J'ai mis en place la ligne au bas où j'en ai besoin pour être affichée.Recherche de l'entrée max/min dans l'élément arraylist
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
ArrayList<String[]> stats = new ArrayList<>(); // initialize a container
// to hold all the stats
System.out.println("please enter match results:");
int matchesPlayed = 0;
int invalidEntry = 0;
while (sc.hasNextLine()) {
String input = sc.nextLine();
String[] results = input.split("\\s*:\\s*");
if (results.length == 4) {
stats.add(results);
matchesPlayed++;
}
else if (input.equals("stop")) {
break;
}
} // end of while
for (int i = 0; i < stats.size(); i++) {
if (stats.get(i)[0].trim().isEmpty()) {
System.out
.println("no home team name entered on the following line:");
invalidEntry++;
matchesPlayed--;
}
else if (stats.get(i)[1].trim().isEmpty()) {
System.out
.println("no away team name entered on the following line:");
invalidEntry++;
matchesPlayed--;
}
else if (stats.get(i)[2].trim().isEmpty()) {
System.out.println("no home score entered on this line");
invalidEntry++;
matchesPlayed--;
}
else if (stats.get(i)[3].trim().isEmpty()) {
System.out.println("no away score entered on this line");
invalidEntry++;
matchesPlayed--;
}
try {
System.out.println(String.valueOf(stats.get(i)[0]) + " ["
+ Integer.valueOf(stats.get(i)[2]) + "] " + " | "
+ (String.valueOf(stats.get(i)[1])
+ " [" + Integer.valueOf(stats.get(i)[3]) + "] "));
} catch (Exception e) {
// do nothing with any invalid input
}
}
System.out.println(" ");
System.out.println("Totals");
System.out.println("-------------------------");
System.out.println("total number of matches: " + matchesPlayed);
System.out.println("total number of invalid entries: " + invalidEntry);
System.out.println("highest home score: ");
}
Vous n'avez pas posé de question en plus de "cela a-t-il un sens". Quelle est votre question? – Kon
Ma question est comment puis-je trouver le nombre le plus élevé entré dans l'élément [2] de mon arraylist et le stocker dans un int afin que je puisse l'afficher en bas? – JHurst
Votre "question" ressemble à un livre de cuisine pour le faire. Pourquoi ne pas le faire comme vous le décrivez? Ou est la question comment comparer les valeurs int? – Heri