Probleme-java
Fermé
sim0na
Messages postés
15
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
14 octobre 2010
-
6 févr. 2010 à 21:40
Utilisateur anonyme - 7 févr. 2010 à 12:22
Utilisateur anonyme - 7 févr. 2010 à 12:22
A voir également:
- Probleme-java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
2 réponses
J'ai noté une petite erreur :
Plus loin tu fait
Qui est inutile car le for le fait deja tout seul
En enfin
Voila, sa fait longtemps que j'ai pas fait de java ^^ alors il est possible qu'il reste d'autre erreurs
for (int i=1;i<=tab.length;i++){ // A changer en for (int i=0; i < tab.length; i++){
Plus loin tu fait
i++;
Qui est inutile car le for le fait deja tout seul
En enfin
int q = montant / tab[i]; // A changer en int q = (int) (montant / tab[i]);
Voila, sa fait longtemps que j'ai pas fait de java ^^ alors il est possible qu'il reste d'autre erreurs
Utilisateur anonyme
7 févr. 2010 à 12:22
7 févr. 2010 à 12:22
Salut,
Voilà ce que je pense que l'on veut faire:
-entrer le montant à payer
-entrer le montant recu du client
-calculer le montant à rendre
-et calculer les pièces (ou billets) à rendre en fonction de ce montant à rendre
Pour rendre le nombre minimal de pieces à l'aide du tableau >>> {1,2,5,10,20,50,100,200} je propose ceci:
C'est un exemple (premier jet) certainement améliorable et non le seul...
Cordialement,
Dan
Voilà ce que je pense que l'on veut faire:
-entrer le montant à payer
-entrer le montant recu du client
-calculer le montant à rendre
-et calculer les pièces (ou billets) à rendre en fonction de ce montant à rendre
Pour rendre le nombre minimal de pieces à l'aide du tableau >>> {1,2,5,10,20,50,100,200} je propose ceci:
import java.util.Scanner; public class test_tab { public static void main(String[] args) { Scanner sc=new Scanner (System.in); int[] tabDispose = {1,2,5,10,20,50,100,200}; // les pieces (ou billets) dont on dispose int[] tabRendre = new int[20]; // les pieces a rendre int montantRecu = 0; int montantDu = 0; int montantArendre = 0; boolean encore1 = true; boolean encore2 = true; int r=0; while(encore1) { encore2 = true; System.out.print("\ntapez le montant a payer (ou 0 pour terminer): "); montantDu = sc.nextInt(); if(montantDu == 0) { System.out.println("\n\nF I N"); encore1 = false; return; } while(encore2) { encore2 = false; System.out.print("tapez le montant recu: "); montantRecu = sc.nextInt(); montantArendre = montantRecu - montantDu; if(montantArendre == 0) break; if(montantArendre < 0) encore2 = true; } System.out.println("Montant a rendre: " + montantArendre); //{1,2,5,10,20,50,100,200} // pieces possibles int i1Sv = 0; for (int i = tabDispose.length -1; i > -1; i--) // on commence par la fin du tableau { if(tabDispose[i] <= montantArendre) { for(int i1 = i1Sv; i1<tabRendre.length; i1++) { tabRendre[i1] = tabDispose[i]; // on range dans le tableau tabRendre qui servira à afficher // le résultat montantArendre-= tabDispose[i]; if(montantArendre == 0) { break; } else { i = tabDispose.length; i1Sv = (i1 +1); break; } } } if(montantArendre == 0) { break; } } for(int i1 = 0; i1<tabRendre.length;i1++) { if(tabRendre[i1] > 0) System.out.println("\nPiece a rendre: " + tabRendre[i1]); } encore1 = true; encore2 = true; i1Sv = 0; for(int i1 = 0; i1<tabRendre.length;i1++) { tabRendre[i1] = 0; } } } }
C'est un exemple (premier jet) certainement améliorable et non le seul...
Cordialement,
Dan