Problème d'affichage [Résolu]

Signaler
Messages postés
16
Date d'inscription
jeudi 21 janvier 2021
Statut
Membre
Dernière intervention
23 février 2021
-
Messages postés
16
Date d'inscription
jeudi 21 janvier 2021
Statut
Membre
Dernière intervention
23 février 2021
-
Bonjour,

J'ai du mal à afficher la réponse de mon programme qui lit une chaîne de caractères et qui indique le nombre de caractères de cette chaîne identiques au premier caractère (sans le compter lui-même). (par ex: implicite --> 2 autres caractères sont identiques au premier i.). Voici mon programme. Merci.

import java.util.Scanner;
public class TD2_ex3 {

	public static void main(String[] args) {
		String chaine;	
		Scanner s = new Scanner(System.in);
		System.out.println("Entrer la chaîne: ");
		chaine =s.nextLine();
		int cmp=0;
		int i=0;
		while (i<=chaine.length()) {
			if (chaine.charAt(i+1)==chaine.charAt(0)) {
				cmp++;
				i++;
			}
		}
		System.out.println(+cmp+" autres caractères sont identiques au premier "+chaine.charAt(0));

	}
}

2 réponses

Messages postés
16327
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 mai 2021
2 825
Bonjour,

println(+cmp
est faux, tu dois mettre quelque chose avant le
+
ou alors le supprimer, mais le programme ne compilera pas comme ça.
Messages postés
16
Date d'inscription
jeudi 21 janvier 2021
Statut
Membre
Dernière intervention
23 février 2021

Même ... mon programme ne s'arrête pas.
Messages postés
16327
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 mai 2021
2 825
Déplaces le i++ en dehors du if, parce que si la condition est fausse tu dois quand même continuer avec le caractère suivant.

Remarque : une boucle for serait plus appropriée ici.
Messages postés
16
Date d'inscription
jeudi 21 janvier 2021
Statut
Membre
Dernière intervention
23 février 2021

Je te remercie énormément KX, t'es vraiment un tuteur...