Java, probleme string/char

Résolu
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
Configuration: Windows Vista
Firefox 3.0.1

5 réponses

  1. Contributeur
    Bonjour,

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

    nbChar
    parent
    0
    1. ... 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
      1. Contributeur
        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
        1. ... 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
          1. Contributeur
            T'inquiète pas même après 4 ans de java j'arrive aussi à me planter :)
            0