Aide java

Résolu
tof5962 Messages postés 21 Statut Membre -  
mos6afa Messages postés 9 Statut Membre -
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);				}}
A voir également:

8 réponses

kij_82 Messages postés 4260 Statut Contributeur 857
 
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.
0
tof5962
 
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é
0
bdm_mix Messages postés 1 Statut Membre
 
Salut,

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

++
0
tof5962 Messages postés 21 Statut Membre
 
a oublié, le programme a été refais avec un code diferrent. autorisation de mettre ce post poubelle car inutile, il ne peu rendre service
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mos6afa Messages postés 9 Statut Membre
 
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
0
tof5962 Messages postés 21 Statut Membre
 
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
0
mos6afa Messages postés 9 Statut Membre
 
merci bien mon prof
je souhaite bien ton suivi et merci+
0
mos6afa Messages postés 9 Statut Membre
 
je veut un cours très détaillé de java application et applet
et merci mes profs d'avance
0
tof5962 Messages postés 21 Statut Membre
 
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
0
mos6afa Messages postés 9 Statut Membre
 
Merci mon Prof
Et a la prochaine
0