A voir également:
- Erreur dans le code java
- Erreur 0x80070643 - Accueil - Windows
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Le code ascii - Guide
- Java apk - Télécharger - Langages
1 réponse
bubull97
Messages postés
133
Date d'inscription
vendredi 1 octobre 2010
Statut
Membre
Dernière intervention
19 février 2014
10
9 juin 2012 à 22:08
9 juin 2012 à 22:08
Salut,
Essaye en commencant à partir de "i-1"
int i = ch.length() -1;
for (; i > 0; i--)
{
int x =Integer.valueOf(ch.charAt(i));
s = s+x*p ;
p =p*2;
}
OU
Je sais pas quel est ton niveau en programmation, mais
"int x =Integer.valueOf(ch.charAt(i));"
peut retourner une exception (sans certitude)
Donc il faut gerer l'exception
Essaye en commencant à partir de "i-1"
int i = ch.length() -1;
for (; i > 0; i--)
{
int x =Integer.valueOf(ch.charAt(i));
s = s+x*p ;
p =p*2;
}
OU
Je sais pas quel est ton niveau en programmation, mais
"int x =Integer.valueOf(ch.charAt(i));"
peut retourner une exception (sans certitude)
Donc il faut gerer l'exception
9 juin 2012 à 22:30
"Integer.valueOf(ch.charAt(i)); peut retourner une exception (sans certitude)"
En effet, ce sera dans le cas où i n'est pas dans l'intervalle (problème que l'on vient de régler) ou alors si ch ne contient pas que des chiffres. On peut aussi avoir le cas où ch vaut null, mais dans ce cas le programme aura planté avant (lors du ch.length par exemple)
9 juin 2012 à 23:00
public int binToDec(String ch){
try{
int p = 1;
int s = 0;
for (int i=ch.length()-1; i>=0; i--)
{
int x =Integer.valueOf(ch.charAt(i));
s = s+x*p ;
p =p*2;
}
System.out.println(s+"???????????????????????");
}
catch(IOException err){
err.getMessage();
}
return s;
}
est ce que vus pouvez m'aider svp et merci d'avance
9 juin 2012 à 23:19
Il n'y a aucune raison d'avoir une erreur sur les fichiers vu ce que tu fais !
Dans ton cas, la gestion d'exception n'est pas utile, s'il y en a une c'est que l'utilisateur a fait une faute grave, il vaut mieux la laisser se propager, plutôt que faire une récupération inutile qui va masquer l'exception (car err.getMessage() ne vas rien faire), et laisser tourner le programme alors que le résultat renvoyé sera faux puisque le calcul aura été incomplet !
En plus quand on ne les maîtrises pas, on commet des erreurs inutiles comme lorsque tu fais "return s" en dehors du try, alors que "s" y est déclaré à l'intérieur...
Normalement comme ceci, il ne devrait pas y avoir d'erreur de compilation :
Je n'ai pas testé pour savoir si ça faisait ce que tu voulais, mais ça semble pas trop mal...
9 juin 2012 à 23:30
9 juin 2012 à 23:57
Tu dois donc soustraire cette valeur à chaque fois, par exemple en faisant :