Java resultat va au mauvais endroit

Résolu/Fermé
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 10 oct. 2009 à 20:54
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 11 oct. 2009 à 11:02
Bonsoir,

J'ai un petit soucis au niveau du rendu de mon programme java. Mon programme doit enlever un chiffre sur deux lorqu'on lui donne une suite de chiffre
Mon probleme:

Le résultat vient se coller a la suite de la suite de chiffre.

suiteDeChiffres t= enleverUnSurDeux(a);
		ecran.afficher("Exemple 1: La suite "+a+", devient"+t);


par exemple si j'ai une suite de chiffre 1234 mon programme me donne: Exemple 1: La suite 123413, devient

voila mon code:

import ordinateur.*;
import objetMathematique.*;

class Exind2
{
	public static suiteDeChiffres enleverUnSurDeux(suiteDeChiffres s)
	{
		suiteDeChiffres a = new suiteDeChiffres(s);
		
		while(!a.estVide())						
			{ 
				s.ajouterLeChiffreDerriere(a.premierChiffre());	
				a.enleverLePremierChiffre();			
				a.enleverLePremierChiffre();			
			}
		return a;
	}
	
	public static void test()
	{
		suiteDeChiffres a = new suiteDeChiffres("12345");
		suiteDeChiffres b = new suiteDeChiffres("2678");
		suiteDeChiffres c = new suiteDeChiffres("1");
		suiteDeChiffres d = new suiteDeChiffres("00684356");
		
		
		suiteDeChiffres t= enleverUnSurDeux(a);
		ecran.afficher("Exemple 1: La suite "+a+", devient"+t);

		t= enleverUnSurDeux(b);
		ecran.afficher("Exemple 2: La suite "+b+",devient"+t);

		t= enleverUnSurDeux(c);
		ecran.afficher("Exemple 3: La suite "+c+", devient"+t);

		t= enleverUnSurDeux(d);
		ecran.afficher("Exemple 4: La suite "+d+",devient"+t);
		
	}
		
	public static void main(String[] args)
	{
		ecran.afficher("");
		ecran.afficher("Entrez 0 pour executer le programme sur votre suite de chiffre");		
		ecran.afficher("");
		ecran.afficher("Si vous voulez voir les exemples, Entrez un caractere different de 0");
		
		suiteDeChiffres w = clavier.lireUneSuiteDeChiffres();

		if(!w.estNul())
		{
		test();
		}
		else
		{
			ecran.afficher("Entrez une suite de chiffre dont vous souhaitez enlever un chiffre sur deux:");
			suiteDeChiffres s = clavier.lireUneSuiteDeChiffres();
			suiteDeChiffres t = enleverUnSurDeux(s);
			ecran.afficher("Pour votre suite: "+s+" le resultat est"+t);
		}

	}
} 
A voir également:

2 réponses

Talakar Messages postés 251 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 2 janvier 2017 51
10 oct. 2009 à 23:43
Bonsoir,

Sauf erreur, vous utilisez la SuiteDeChiffre s, votre paramètre, et vous y ajoutez le résultat de vos travaux sur la nouvelle SuiteDeChiffre a. Votre problème, c'est exactement le comportement attendu quand on lit votre code. Vous faites s.ajouterLeChiffreDerriere !!

Il suffit de créer une autre SuiteDeChiffre vide et d'utiliser la méthode qui ajoute les chiffres à la fin au lieu d'en rajouter sur s. Si vous avez créé a, et que vous n'utilisez pas directement enleverLePremierChiffre sur s, c'était bien pour ne pas toucher à s...


0
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
11 oct. 2009 à 11:02
Bonjour,

ah oui en effet!

merci beaucoup je vais essayer d'arranger ca
0