Probleme "programme affichant suiteDeChiffre"
Résolu
pcforever01
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
en fait je dois faire un programme qui affiche un chiffre sur deux d'une suite de chiffre
exple 12345 = 24;
mais l'erreur m'indique dans le main que la variable res est inconnue;
voici mon script en question:
import objetMathematique.*;
import algorithmes.*;
import ordinateur.*;
public class espace
{
public static suiteDeChiffres unSurDeux (suiteDeChiffres s)
{ s = new suiteDeChiffres ();
suiteDeChiffres aux = new suiteDeChiffres();
suiteDeChiffres res;
while (!aux.estVide())
{ res = new suiteDeChiffres();
aux = new suiteDeChiffres(s);
res.ajouterLeChiffreDevant(aux.premierChiffre());
aux.enleverLePremierChiffre();
}
}
public static void main (String [] args)
{
ecran.afficher ("entrer un nombre");
suiteDeChiffres unSurDeux = clavier.lireUneSuiteDeChiffres ();
ecran.afficher ( "" + res);
}
}
en fait je dois faire un programme qui affiche un chiffre sur deux d'une suite de chiffre
exple 12345 = 24;
mais l'erreur m'indique dans le main que la variable res est inconnue;
voici mon script en question:
import objetMathematique.*;
import algorithmes.*;
import ordinateur.*;
public class espace
{
public static suiteDeChiffres unSurDeux (suiteDeChiffres s)
{ s = new suiteDeChiffres ();
suiteDeChiffres aux = new suiteDeChiffres();
suiteDeChiffres res;
while (!aux.estVide())
{ res = new suiteDeChiffres();
aux = new suiteDeChiffres(s);
res.ajouterLeChiffreDevant(aux.premierChiffre());
aux.enleverLePremierChiffre();
}
}
public static void main (String [] args)
{
ecran.afficher ("entrer un nombre");
suiteDeChiffres unSurDeux = clavier.lireUneSuiteDeChiffres ();
ecran.afficher ( "" + res);
}
}
A voir également:
- Probleme "programme affichant suiteDeChiffre"
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
unSurDeux doit renvoyer un résultat de type suiteDeChiffres.
Il faut donc faire return res; à la fin de ta méthode.
Et le res que tu utilises dans le main est en fait le résultat d'un appel à unSurDeux.
Tant que j'y suis, il ne faut pas faire de new à chaque instruction. Par exemple s est un paramètre de ta méthode, si tu fais un new tu écrases la valeur, et de même pour les autres, à chaque tour de boucle tu recréés res et aux effaçant leurs précédentes valeurs !
Remarque : ne connaissant aucun de tes packages personnalisés (objetMathematiques, algorithmes et ordinateur) cette "correction" est purement théorique... En particulier, je ne sais pas si cela fait ce que tu veux.La confiance n'exclut pas le contrôle
Il faut donc faire return res; à la fin de ta méthode.
Et le res que tu utilises dans le main est en fait le résultat d'un appel à unSurDeux.
Tant que j'y suis, il ne faut pas faire de new à chaque instruction. Par exemple s est un paramètre de ta méthode, si tu fais un new tu écrases la valeur, et de même pour les autres, à chaque tour de boucle tu recréés res et aux effaçant leurs précédentes valeurs !
public class espace { public static suiteDeChiffres unSurDeux(suiteDeChiffres s) { suiteDeChiffres aux = new suiteDeChiffres(s); suiteDeChiffres res = new suiteDeChiffres(); while (!aux.estVide()) { res.ajouterLeChiffreDevant(aux.premierChiffre()); aux.enleverLePremierChiffre(); } return res; } public static void main (String[] args) { ecran.afficher("entrer un nombre"); suiteDeChiffres s = clavier.lireUneSuiteDeChiffres(); suiteDeChiffres res = unSurDeux(s); ecran.afficher(res); } }
Remarque : ne connaissant aucun de tes packages personnalisés (objetMathematiques, algorithmes et ordinateur) cette "correction" est purement théorique... En particulier, je ne sais pas si cela fait ce que tu veux.La confiance n'exclut pas le contrôle
Mais dans la mesure où les packages que tu utilises ne sont pas standards il est impossible de savoir pourquoi cela renvoit null ! Est-ce que tu aurais un lien vers la javadoc de ces bibliothèques ?
La Javadoc c'est une présentation html référençant une information exhaustive de toutes les classes.
Par exemple, la Javadoc de l'API de Java 7 est disponible ici.
Si je me réfère au PDF (page 35 et plus) je ne vois pas d'erreur au niveau de la méthode unSurDeux, sauf que tu recopies toute la chaîne au lieu d'un chiffre sur deux.
Je penserai plutôt à une erreur sur la ligne clavier.lireUneSuiteDeChiffres() mais je n'ai pas trouvé d'info sur cette méthode dans le PDF.