Java, probleme string/char

Résolu
artragis Messages postés 510 Statut Membre -  
arth Messages postés 10414 Statut Contributeur -
Bonjour,
Afin je désire programmer un compteur de mot. n'ayant pas cherché de solution sur internet j'ai créé l'algorithme qui me paraissait le plus juste. aujourd'hui je vuex le mettre en programme, je fais du Java, seulement éclipse me dit :
Incompatible operand types char and String

alors que mon code c'est ça
	int index;
		nbChar = texteEntré.length();
		parent.nbCar.setText(StatCar+nbChar);
		char carprecédent[]=new char[1];
		texteEntré.getChars(1, 2, carprecédent, 0);
		char carlu[]=new char[1];
		nbMot=1;
		
		
		for(index=2;index<texteEntré.length();index++){
			texteEntré.getChars(index, index+1, carlu, 0);
			if(carprecédent[0]==" " && !(carlu[0]==" ")){
				
			}
		}

quand je regarde mes deux variables sont bien des char[] conformément à ce que demande la fonction getChars() alors voila
A voir également:

5 réponses

arth Messages postés 10414 Statut Contributeur 1 293
 
Bonjour,

Déjà dis nous de quelles types sont les variables suivantes :

nbChar
parent
0
artragis Messages postés 510 Statut Membre 146
 
... je pensais l'avoir mis dans mon extrait de code. bon voici l'extrait complet avec en souligné l'endroit où éclipse me met une erreur:
	String texteEntré = parent.texteDonné.getText();
	String textecodé;
	int nbMot;
	int nbChar;
	String StatCar=parent.nbCar.getText();
	
	
	
	JButton boutonCliqué = (JButton) événement.getSource();
	if (boutonCliqué==parent.Cryptage){
		//les stats
		int index;
		nbChar = texteEntré.length();
		parent.nbCar.setText(StatCar+nbChar);
		char carprecédent[]=new char[1];
		texteEntré.getChars(1, 2, carprecédent, 0);
		char carlu[]=new char[1];
		nbMot=1;
		
		
		for(index=2;index<texteEntré.length();index++){
			texteEntré.getChars(index, index+1, carlu, 0);
			if(carprecédent[0]==" " && !(carlu[0]==" ")){
				
			}
		}
		
0
arth Messages postés 10414 Statut Contributeur 1 293
 
AH oui je vois d'où cela vient :

char carprecédent[]=new char[1];

comme tu dis tu as bien déclaré un tableau de caractères. Hors le double symbole "" représente une chaîne et non un caractère. Qui se représente par exemple par 'a' ou 'b' ou ' ', les doubles côtes sont en effet là pour définir un caractère.

Il faut donc que tu mettes : if(carprecédent[0]==' ' && !(carlu[0]==' ')){
0
artragis Messages postés 510 Statut Membre 146
 
... et il se retourne tout honteux. merci de ton aide... et dire qu'en plus j'avais remarqué ce genre de chose plus d'une fois. bon ben, encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arth Messages postés 10414 Statut Contributeur 1 293
 
T'inquiète pas même après 4 ans de java j'arrive aussi à me planter :)
0