Aide java [Résolu/Fermé]

Signaler
Messages postés
21
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2010
-
Messages postés
9
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
3 novembre 2008
-
Bonjour,
j'ai trouvé un code source, j'ai rajouté mon main mais erreur de compilation et je ne trouve pas mon probleme. le but de ce prog est si par exemple je dis 78.45, il me renvoi "soixante dix-huits euros quarante cinq centimes"

je vous donne le code complet :

package packlire;

public class sommesenlettres {

	public static String ConvertIntToString(int intToString){
	   	
		int valeur = intToString;
	   	 String result = "";
	  
//Nous allons convertir les chiffres entre 1 000 000 et 999 999 999  
	   	 if(valeur > 1000000)	{
	   	 	int valeurMillion = (int)valeur / 1000000;
	   	 	result = result + " " + ConvertIntToString(valeurMillion) + " million";
	   	 	valeur = valeur - (valeurMillion * 1000000);
	   	 						}
	   	 
//Nous allons convertir les chiffres entre 1000 et 999 999
	   	 if(valeur > 1000){
	   	 	int valeurMille = (int)valeur / 1000;
	   	 	if(valeurMille > 1){
	   	 		result = result + " " + ConvertIntToString(valeurMille) + " mille";
	   	 	}
	   	 	else{
	   	 		result = result + " mille";
	   	 	}
	   	 	
	   	 	valeur = valeur - (valeurMille * 1000);
	   	 }
	   	
//Nous allons convertir les chiffres entre 100 et 999	
	   	 if(valeur > 100){
	   	 	int valeurCent = (int)valeur / 100;
	   	 	if(valeurCent > 1){
	   	 		result = result + " " + ConvertIntToString(valeurCent) + " cent";
	   	 	}
	   	 	else{
	   	 		result = result + " cent";
	   	 	}
	   	 	
	   	 	valeur = valeur - (valeurCent * 100);
	   	 }
	   	 
//Nous allons convertir les chiffres entre 0 et 99
	   	 switch(valeur){
	   	 	case 0 : 
	   	 		if(result == ""){result = "zéro";}
	   	 	break;
	   	 	
	   	 	case 1 : 
	   	 		result = result + " un";
	   	 		break;
	   	 	case 2 : 
	   	 		result = result + " deux";
	   	 		break;
	   	 	case 3 : 
	   	 		result = result + " trois";
	   	 		break;
	   	 	case 4 : 
	   	 		result = result + " quatre";
	   	 		break;
	   		case 5 : 
	   			result = result + " cinq";
	   			break;
	   		case 6 : 
	   			result = result + " six";
	   			break;
	   		case 7 : 
	   			result = result + " sept";
	   			break;
	   		case 8 : 
	   			result = result + " huit";
	   			break;
	   		case 9 : 
	   			result = result + " neuf";
	   			break;
	   		case 10 : 
	   			result = result + " dix";
	   			break;
	   		case 11 : 
	   			result = result + " onze";
	   			break;
	   		case 12 : 
	   			result = result + " douze";
	   			break;
	   		case 13 : 
	   			result = result + " treize";
	   			break;
	   		case 14 : 
	   			result = result + " quatorze";
	   			break;
	   		case 15 : 
	   			result = result + " quinze";
	   			break;
	   		case 16 : 
	   			result = result + " seize";
	   			break;   		
	   		case 20 : 
	   			result = result + " vingt";
	   			break;
	   		case 30 : 
	   			result = result + " trente";
	   			break;
	   		case 40 : 
	   			result = result + " quarante";
	   			break;
	   		case 50 : 
	   			result = result + " cinquante";
	   			break;
	   		case 60 : 
	   			result = result + " soixante";
	   			break;
	   		case 70 : 
	   			result = result + " soixante-dix";
	   			break;
	   		case 80 : 
	   			result = result + " quatre-vingts";
	   			break;
	   		case 81 : 
	   			result = result + " quatre-vingts un";
	   			break;
	   		case 90 : 
	   			result = result + " quatre-vingts-dix";
	   			break;
	   		case 91 : 
	   			result = result + " quatre-vingts onze";
	   			break;
	   		default :
	   			int valeurDizaine = (valeur / 10) * 10;
	   			int valeurUnite = valeur % 10;
	   			
	   			//Les valeurs entre 16 et 20, 70 et 80, et entre 90 et 100 sont des cas
	   			//particuliers, nous devons faire un traitement particulier
	   			if((valeur > 16 && valeur < 20) || (valeur > 70 && valeur < 80) || (valeur > 90 && valeur < 100)){
	   				valeurDizaine -= 10;  			
	   				valeurUnite +=  10;
	   			}
	   			
	   			if(valeurDizaine == 0){
					result = result + " " + ConvertIntToString(valeurUnite);
				}
				else if(valeurUnite == 0){
					result = result + " " + ConvertIntToString(valeurDizaine);
				}
				else if(valeurUnite == 1){
					result = result + " " + ConvertIntToString(valeurDizaine)
					+ " et " + ConvertIntToString(valeurUnite);
				}
				else{
					result = result + " " + ConvertIntToString(valeurDizaine)
					+ "-" + ConvertIntToString(valeurUnite);
				}
	   	 }
	   }
	   //Méthode permettant de convertir le réel sous forme de lettre
	   public static String convertRealToString(double intToString){
		 String euros = "euros";  
		 String centimes="centimes";
	   	 int valeurApresVirgule = (int)(intToString - (int)intToString);
	   	 int valeurAvantVirgule = (int)(intToString - valeurApresVirgule);
	   	 String result = "";
	   	 
	   	if (intToString<=1) euros="euro";
		if (valeurApresVirgule==1) centimes="centime";
	   	 
	   	 if(valeurApresVirgule == 0){
	   	 	result = ConvertIntToString(valeurAvantVirgule)+ euros;
	   	 }
	   	 else{
	   	 	result = ConvertIntToString(valeurAvantVirgule) + euros
				+ ConvertIntToString(valeurApresVirgule)+ centimes;
	   	 }
	   	 
	   	 return result ;
	   }

public static void main(String[] args){ 
	double N;
	System.out.println("donne la somme a traduire : ");
	N = Lire.i();
	convertRealToString(N);				}}

8 réponses

Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
852
Bonjour,

Je n'ai pas jeté de coup d'oeil au code, mais deux remarques :
- Les noms de classe prennent toujours une majuscule ne première lettre
- Une méthode statique s'invoque avec le nom de la classe devant :
  Sommesenlettres.convertRealToString(N);


Dans le code ci-dessus j'ai mis une majuscule comme ca devrait l'être de part les standards java, donc si tu veux copier / coller directement sans chercher à comprendre, n'oubli de pas de rectifier en minuscule.
Recopier sans comprendre n'est pas mon but. je vais essayer de faire attention a la syntaxe, en tout les cas, merci de t'etre interréssé
Messages postés
1
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
10 janvier 2008

Salut,

Il manque un return result à ta méthode convertIntToString();

++
Messages postés
21
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2010

a oublié, le programme a été refais avec un code diferrent. autorisation de mettre ce post poubelle car inutile, il ne peu rendre service
Messages postés
9
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
3 novembre 2008

bonjour mes profs,
tout d'abord je suis un très débuttant en programmation java, et je besoin de votre aide, déja de manipule l'algorithme et la programmation pascal, ma question est: est ce que je peut prgrammer en java sans avoir connaitre le C ou C++
Meci d'avant
Messages postés
21
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2010

ba oui mos6afa, pas de raison. moi qui est en formation professionnel, j'ai meme debuter sur java. je ne connaissais rien a la programmation auparavant. ya un debut a tout. mais faut s'acrocher parfois
Messages postés
9
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
3 novembre 2008

merci bien mon prof
je souhaite bien ton suivi et merci+
Messages postés
9
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
3 novembre 2008

je veut un cours très détaillé de java application et applet
et merci mes profs d'avance
Messages postés
21
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2010

ba ecoute je ne veux pas etre mechant, mais je n'ai reellement pas le temps. je suis en formation du developpeur informatique, j'ai plein de choses a voir encore tellement le monde est immense, je suis en plein cours de sql, et je n'ai pas le temps libre pour montrer mes connaissances. peu etre par la suite mais dans l'immediat je ne peux pas. je te conseil de faire des tutaux et un bon site : www.siteduzero.com
Messages postés
9
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
3 novembre 2008

Merci mon Prof
Et a la prochaine