Petit programme Java

Fermé
Debutant - 20 oct. 2008 à 16:18
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 27 août 2009 à 12:30
Bonjour,


j'essaye d'ecrire un programme en java qui génère un nombre compris entre 0 et 100 inclusivement. Ce nombre représente le montant d’un achat en cents (¢). Je dois trouver la monnaie à retourner si l’acheteur donne 1 $. et indiquer comment cette monnaie sera retournée, soit le nombre de pièces de 25 ¢, de 10 ¢, de 5 ¢ et de 1 ¢. en maximisant les pièces avec la plus grande valeur.





Et un autre programme qui génère 10 nombres aléatoires compris entre 0 et 100. Ces nombres permettent de représenter les notes de 10 étudiants. Le programme doit également calculer et afficher
-la moyenne des notes des étudiants,
-la note la plus haute,
-ainsi que la note la plus basse.




merci de votre aide.
A voir également:

15 réponses

guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
21 oct. 2008 à 22:37
import java.util.*;

class Piece
{
private int montant_ale;
private int reste;
private static int sousPorteMonnaie=100;
private Random rand;
private int nb25;
private int nb10;
private int nb5;
private int nb1;
public Piece()
{
this.rand= new Random();
this.montant_ale=rand.nextInt(Piece.sousPorteMonnaie);
this.reste=Piece.sousPorteMonnaie-this.montant_ale;
this.calculNBpiece();
}
public void calculNBpiece()
{
int temp=this.reste;
this.nb25=(int)(temp/25);
temp=temp%25;
this.nb10=(int)(temp/10);
temp%=10;
this.nb5=(int)(temp/5);
temp%=5;
this.nb1=temp;
}
public String toString()
{
return "Montant de l'achat [0-"+Piece.sousPorteMonnaie+"]: "+this.montant_ale+"\nLa monnaie a retourner, "+this.reste+" cents, est compose de:\n"+this.nb25+" pieces de 25 cents,\n"+this.nb10+" pieces de 10 cents,\n"+this.nb5+" pieces de 5 cents,\n"+this.nb1+" pieces de 1 cents,\n";
}
public static void main(String []args)
{
Piece pi=new Piece();
System.out.println(pi);
}
}


ya plus performant comme façon de faire^^ mais après, c'est le plus simple a comprendre ;)
1
J'ai debuter un bout du programme, mais je n'avance pas beaucoups.



class Monnaie {

public static void main (String args[]){

int Nb = 1;

Random rand = new Random();

long number = (Math.round(Math.random() * 100));

System.out.println("Montant de l’achat = " + Math.random());


System.out.println(" La monnaie à retourner = " 100 -- Math.random());



}
}
0
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
21 oct. 2008 à 21:35
tu n'as pas bien lu la doc ;)
faire:
Random ran = new Random();
ben ça sert rien si tu ne t'en sers pas
Suffit de faire un :
int val_alea=rand.nextInt(99)+1; // ça c'est si tu ne veux pas le 0, car cette méthode renvoie un integer aléatoirement un nombre comprit entre zéro et la valeur entré en paramètre (inclus).
c'est plus pratique que les méthode math je trouve ;)
-1
j'ai reecrit un avant-gout de mon programme, quelqu'un peut-il me dire si je suis sur la bonne voie ?



Classe

Monnaie



Champs

Montant de l'achat = MA
Monnaie a retourner = MR
nombre de piece de 25 cents = NBR25
nombre de piece de 10 cents = NBR10
nombre de piece de 5 cent = NBR5
nombre de piece de 1 cent = NBR1



Methodes

MA () :

Random rand = new Random();

retourner ((Math.round(Math.random() * 100)));

MR ():

retourner (100 - MA)

NBR25 ():

retourner (MR/25)

reste1 ():

retourner (MR % 25)

NBR10 ():

retourner (reste1 / 10)

reste2 ():

retourner(reste1 % 10)

NBR5 ():

retourner (reste2 / 5)

reste3 ():

retourner(reste2 % 5)

NBR1 ():

retourner (reste3 / 1)
0
public class Caisse {

private int montantARendre;
private int[] valeurDesPieces = {25, 5, 10, 1};

public Caisse(int montantAchat, int montantPaye){

montantARendre = montantPaye - montantAchat;
System.out.println("Montant de l'achat: " + montantAchat + "¢");
System.out.println("Payé: " + montantPaye+ "¢");
System.out.println("A rendre : " + montantARendre+ "¢");
System.out.println("");

}

private void rendMonnaie(){
java.util.Arrays.sort(valeurDesPieces);
for (int i = valeurDesPieces.length - 1; i >=0; i--) {
int piecesRendues = montantARendre / valeurDesPieces[i];
if (piecesRendues > 0){
System.out.println(piecesRendues + " x " + valeurDesPieces[i] + "¢");
montantARendre -= valeurDesPieces[i] * piecesRendues;
}
}
}

public static void main(String[] args) {
java.util.Random rand = new java.util.Random();
Caisse caisse = new Caisse(rand.nextInt(101), 100);
caisse.rendMonnaie();
}
}
0

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

Posez votre question
Je vais essayer se programme, il a l'air different de se que j'essaye de faire,

je connais deja mon montant payee qui est 1$ = 100 cents

le montant achat doit etre trouver aleatoirement par le programme,

je veux avoir le resultat sous cette forme :


Montant de l’achat [0-100] : (exemple 33)

La monnaie à retourner, (ex: 67) cents, est composé de :


2 pièces de 25 cents,

1 pièce de 10 cents,

1 pièce de 5 cents,

2 pièces de 1 cent.
0
Ouff le plus simple tu dis, loll,

j'ai encore beaucoups de misere avec les termes du lexique de Java, je sort a peine de Pascal loll, je vais me replonger dans le lien que tu m'a envoyer.
0
Comment faire si je veux que le mot piece (pour les pieces de monnaie) apparaissent au pluriel quand c'est au moin 2 pieces et plus, et au singulier quand c'est 0 ou 1 ?
0
Tu veux écrire "X pièce(s) de Y ¢":

1. tu écris X
2. tu écris " pièce"
3. si (X > 1) tu écris "s"
4. tu écris " de "
5. tu écris Y
6. tu écris " ¢"

private String changeToFormatttedString(int pieces, int value){
StringBuffer sb= new StringBuffer(pieces + "pièce");
if (pieces > 1){
sb.append("s");
}
sb.append(" de " + value + " ¢");
return sb.toString();
}
0
merci pour votre aide, j'ai reussi a reecrire le programme et j'ai exactement ce que je veux,

j'essaye mon deuxieme programme, mais j'ai encore beaucoups de bogue...


public class Notes_Etudiants {

int nombre = 10 ;
public float Note_Ale ;
private static int Nombres_Etudiants = 10 ;
private float Afficher_Moyenne ;
private float Note_Haute ;
private float Note_Basse ;
private Random rand ;

public Notes_Etudiants ()
{
while (nombre < 0 )
{
this.rand = new Random () ;
this.Note_Ale = rand.nextInt(Notes_Etudiants.Nombres_Etudiants) ;
this.calculMoyenne_Etudiant () ;
}
}

public void calculMoyenne_Etudiant ()
{
int temp = this.Note_Ale ;
0
Salut,

Je suis apprentis informaticien et je dois faire vite un programme java. Pourrais-tu me passer ton code sur les pièce de monnaie svp le plus vite possible. Sa serait gentil.
Merci beaucoup
Olivier
0
Bonjour,

J'aimerai savoir si quelqu'un peut m'aider encore sur le programme qui génère 10 nombres aléatoires compris entre 0 et 100 et qui calcule la moyenne, basse note et haute note.
Ou est-ce que ce sujet est close?
J'ai vu que les conversations sont datées quand meme de l'annee derniere.

Merci,

KP
0
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
27 août 2009 à 12:30
Ben je parlais plus haut dans le sujet de la java doc...
t'as le lien vers une classe qui gère l'aléatoire.

après c'est pas très compliqué.
tu fais une boucle du genre:
int val_alea_moy=0;
int i;
for(i=0;i<10;i++)
{
val_alea_moy+=rand.nextInt(99)+1
}
val_alea_moy=(val_alea_moy/i); //moyenne

après, si tu veux le max et le min... tu fais dans la boucle, ou tu charges un tableau et tu cherche après... ou bien tu fais des conditions dans la boucle
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
20 oct. 2008 à 16:23
Salut,
Pour t'aider, faudrait que tu nous mettes ce que t'as compris, par quoi tu as commencé, ton début de programme.
Là tu n'as rien mis du tout. On ne va quand même pas écrire le programme à ta place ;)
-1
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
20 oct. 2008 à 20:32
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Random.html

Commence par regarder cette doc, elle va t'aider a trouver la voie ;)
Après, c'est une question de réflexion :)
-1
Merci pour le lien je vais aller le lire.
0
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
21 oct. 2008 à 21:42
d'un point de vue algorythmique, je te conseille d'utilisé des modulos pour avoir le résultat que tu veux ;)
-1
guillaume_74 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 22
22 oct. 2008 à 20:08
Le lien que je t'ai envoyé, c'est ce qu'on appelle JAVADOC... en fait... ben on peut trouver toute les classes.
pratique pour connaitre les constructeurs, et les méthodes ainsi que le utilité et mode de fonctionnement.
-1