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. 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 ?
  2. ç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"
  3. 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. 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. 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. 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. 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.