FYI. Un autre exercice de pratique auquel je suis coincé. Le problème est de trouver le nombre d'occurrences de chaque chiffre dans une chaîne. J'ai l'impression d'être assez proche, mais je reçois des résultats décevants. Je suis un débutant, alors s'il vous plaît gardez des conseils/aide à mon niveau si possible. Merci!Trouver le nombre d'occurrences de chaque chiffre dans la chaîne
Voici ce que j'ai jusqu'à présent:
import java.util.Scanner;
public class Practice5 {
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
System.out.println("Enter a string");
String s = input.next();
int[] counts = countNumbers(s);
String output = "";
for (int i = 0; i < counts.length; i++) {
if (counts[i] != 0)
{
output += "Digit" + (char)('0' + i) + " appears " +
counts[i] + ((counts[i] == 1) + " times\n");
}
}
System.out.print(output);
}
private static int[] countNumbers(String s) {
int[] counts = new int[10];
for(int i = 0; i < s.length(); i++) {
if (Character.isDigit(s.charAt(i)));
counts[s.charAt(i) - '0']++;
}
return counts;
}
}
Ok. Maintenant, si j'entre une chaîne comme "23 t5t6 u76u 232 g1"
je reçois:
2 appears 1 time
3 appears 1 time
Ceci est évidemment incorrect. Il devrait être 2 apparaît 3 fois, 3 se produit 2 fois, 5 se produit 1 fois, etc. Toute aide serait appréciée.
Je recule l'inclusion de la solution dans le poste, il vaut mieux avoir une réponse – mpromonet