Java erreur de code
Boss38400
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je dois faire un code de java pour mon td
mais il marche pas quand je compile
je dois pendre un entier dans le cas de mon programme l'entier "a "qui est égale à 7
vérifier si il est pair ou impair
dans le cas pair diviser par 2
dans le cas impair *3+1
jusqu'à que l'entier soit égale à 1
et tous afficher
voila mon programme
je dois faire un code de java pour mon td
mais il marche pas quand je compile
je dois pendre un entier dans le cas de mon programme l'entier "a "qui est égale à 7
vérifier si il est pair ou impair
dans le cas pair diviser par 2
dans le cas impair *3+1
jusqu'à que l'entier soit égale à 1
et tous afficher
voila mon programme
{ double [] monTableau; monTableau = new double[20]; double b,a; int i; i=0; a=7; if (a%2 == 0) { b=a/2; monTableau[i] = 'b'; } else { b=(a*3)+1; monTableau[i] = 'b'; } i++; while (b!=1) { if (b%2 == 0) { b=b/2; monTableau[i] = 'b'; } else { b=(b*3)+1; monTableau[i] = 'b'; } i++; } System.out.println(monTableau); } }
A voir également:
- Java erreur de code
- Code ascii - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
6 réponses
Bonjour
mais il marche pas quand je compile
ça nous aurait aidés que tu recopies le message d'erreur.
Sinon, as-tu une idée de la différence entre monTableau[i] = 'b'; et monTableau[i] = b; ?
Surtout, n'essaye pas une modif au hasard pour voir, réfléchis d'abord.
mais il marche pas quand je compile
ça nous aurait aidés que tu recopies le message d'erreur.
Sinon, as-tu une idée de la différence entre monTableau[i] = 'b'; et monTableau[i] = b; ?
Surtout, n'essaye pas une modif au hasard pour voir, réfléchis d'abord.
BOnjour,
Tu dois revoir l'algorithme, c'est pas du tout ce que tu souhaites faire, ce que tu as écris là .
Tu as un entier a.
Tu fais un controle si pair ou impair, en fonction tu le modifies et tu fais ton print dans la console.
Ceci doit etre imbriqué dans une boucle while par exemple tant que a != 1.
Tu n'as pas besoin de b, ni de tableau sauf si tu veux enregistrer l'ensemble des valeurs prises par a.
Bonne chance.
Tu dois revoir l'algorithme, c'est pas du tout ce que tu souhaites faire, ce que tu as écris là .
Tu as un entier a.
Tu fais un controle si pair ou impair, en fonction tu le modifies et tu fais ton print dans la console.
Ceci doit etre imbriqué dans une boucle while par exemple tant que a != 1.
Tu n'as pas besoin de b, ni de tableau sauf si tu veux enregistrer l'ensemble des valeurs prises par a.
Bonne chance.
int y=7; while ( y != 1 ) { if ( y%2 == 0 ) y=y/2; else y=3*y+1; System.out.print(y+ " "); } }
voila le bon code
pas besoin de passer par un tableau
Salut,
Si ton tableau est rempli de double, pourquoi tu mets des ' ' dans monTableau[i] = 'b'; et pas monTableau[i] = b;
Si ton tableau est rempli de double, pourquoi tu mets des ' ' dans monTableau[i] = 'b'; et pas monTableau[i] = b;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Tout d'abord, sauf monTableau[i] = 'b'; qui doit être remplacé par monTableau[i] = b;
ainsi que la liste résultat System.out.println(montableau);
qu'il faut par exemple remplacer par:
for (i = 0;i <20;i++)
System.out.println(">>>>>> " + (i+1) + " " + monTableau[i]);
ton programme fait ce que tu souhaites. Il faudrait tout de même y apporter queques améliorations.
Il fonctionne avec a = 7, mais si par exemple a = 77, la boucle
while (b!=1)
{
.......
"s'allonge" et plante par dépassement de la capacité du tableau.
Il faudrait simuler le traitement sans écrire dans monTableau pour calculer la taille du tableau.
Par exemple:
double [] monTableau;
// monTableau = new double[20];
int a,b;
int i = 0;
// i=0;
a=7;
// bien sûr sans écrire dans monTableau
if (a%2 == 0)
{
b=a/2;
}
else
{
b=(a*3)+1;
}
while (b!=1)
{
if (b%2 == 0)
{
b=b/2;
}
else
{
b=(b*3)+1;
}
i++;
}
int taille = i + 1;
monTableau = new double[taille];
i = 0;
if (a%2 == 0)
{
b=a/2;
//monTableau[i] = b;
}
else
{
b=(a*3)+1;
//monTableau[i] = b;
}
monTableau[i] = b;
i++;
while (b!=1)
{
if (b%2 == 0)
{
b=b/2;
//monTableau[i] = b;
}
else
{
b=(b*3)+1;
//monTableau[i] = b;
}
monTableau[i] = b;
i++;
}
for (i = 0;i <monTableau.length;i++)
System.out.println(">>>>>> " + (i+1) + " " + monTableau[i]);
Voir aussi s'il est nécessaire d'avoir un tableau de doubles (c'est peut-être imposé)
Quant à l'erreur de compilation (ou d'execution), ce n'est pas dû à cette partie de code.
Cordialement.
Dan
Tout d'abord, sauf monTableau[i] = 'b'; qui doit être remplacé par monTableau[i] = b;
ainsi que la liste résultat System.out.println(montableau);
qu'il faut par exemple remplacer par:
for (i = 0;i <20;i++)
System.out.println(">>>>>> " + (i+1) + " " + monTableau[i]);
ton programme fait ce que tu souhaites. Il faudrait tout de même y apporter queques améliorations.
Il fonctionne avec a = 7, mais si par exemple a = 77, la boucle
while (b!=1)
{
.......
"s'allonge" et plante par dépassement de la capacité du tableau.
Il faudrait simuler le traitement sans écrire dans monTableau pour calculer la taille du tableau.
Par exemple:
double [] monTableau;
// monTableau = new double[20];
int a,b;
int i = 0;
// i=0;
a=7;
// bien sûr sans écrire dans monTableau
if (a%2 == 0)
{
b=a/2;
}
else
{
b=(a*3)+1;
}
while (b!=1)
{
if (b%2 == 0)
{
b=b/2;
}
else
{
b=(b*3)+1;
}
i++;
}
int taille = i + 1;
monTableau = new double[taille];
i = 0;
if (a%2 == 0)
{
b=a/2;
//monTableau[i] = b;
}
else
{
b=(a*3)+1;
//monTableau[i] = b;
}
monTableau[i] = b;
i++;
while (b!=1)
{
if (b%2 == 0)
{
b=b/2;
//monTableau[i] = b;
}
else
{
b=(b*3)+1;
//monTableau[i] = b;
}
monTableau[i] = b;
i++;
}
for (i = 0;i <monTableau.length;i++)
System.out.println(">>>>>> " + (i+1) + " " + monTableau[i]);
Voir aussi s'il est nécessaire d'avoir un tableau de doubles (c'est peut-être imposé)
Quant à l'erreur de compilation (ou d'execution), ce n'est pas dû à cette partie de code.
Cordialement.
Dan