Probleme java

Résolu
Bonjour,
alors j'aimerai écrire une classe java qui permet de convertir une chaine binaire en un polynôme , voici la proposition que j'ai donné mais ça se compile pas:
public class polynome{

String p=" ";

public String toString(String s){
int i;
s=" ";
for(i=p.length();i>=0;i--){
if(p.charAt(i)==1){s+= "x^"+i+ "+" ;}
}
return s;
}

on me signale l'erreur ici: if(p.charAt(i)==1){s+= "x^"+i+ "+" ;}

merci.
Configuration: Windows XP
Firefox 2.0.0.20

10 réponses

  1. Les types ne sont pas les mêmes:

    p.charAt(position) retourne un "char" et 1 est un int.
    Java n'est pas comme le C/C++.

    Il faut donc mettre quelque chose comme "1" etc etc.
    1. j'ai essayé également cette méthode mais l'erreur existe toujours.
      voici l'erreur qu'on m'affiche:
      at java.lang.String.charAt(Unknown Source)
      1. voici l'erreur complète:
        Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
        at java.lang.String.charAt(Unknown Source)
        at polynome.toString(polynome.java:10)
        at exec.main(exec.java:12)
        1. coucou
          charAt(i) va retourner un char si tu le compares au chiffre 1 il faut que tu mettes '1' sinon il y a un ^problème de type
          1. les index vont de 0 à n-1 pour un tableau (chaine) de longueur n.

            tu commences directement à regarder charAt(longueur de la chaine) donc charAt(n), ce qui est "Out of Bound" (hors des limites)

            il faut commencer ta boucle à longueur de la chaine -1
            1. ça y'est mon programme marche correctement. merci :)
              1. cool, j'espère que tu comprends un peu mieux ce que dit ton compilateur maintenant ^^
                PS : n'oublie pas de mettre en "résolu"
            2. oui oui c'est bon maintenant ( faut qu'il affiche les erreurs en francais)

              PS: comment le mettre en resolu ?
              1. euh... à vrai dire je ne me souviens plus... si tu remontes près de ton premier post de départ il doit y avoir une option non ?