Les Allergies
Alimentaires
Posez votre question Signaler

Correction en java [Résolu]

zgouda 5Messages postés 31 mars 2008Date d'inscription - Dernière réponse le 2 nov. 2010 à 20:05
Bonjour,j'ai un exercice a resoudre en java (jeu de dé) j'aimerais bien avoir une solution
ennonce:
dans une partie de jeu de dé,on a deux joueurs qui jouent aux dé.a chaque tour de jeu chaque joueur lance un dé et ajoute le nombre de points(tirés au hasard) marqués par le dé à son score.le premier qui atteint le score 21 points sera déclaré gagnant.
un tournoi est une liste de parties entre N joueurs dont chacun joue N-1 parties contres les N-1 joueurs restants.
pour cela,on concidere les classes suivantes:
***CLASSE Dé***
Face de type int:nombre marqué par le dé.(*constructeur sans argument:permettant de placer dans l'attribut face,un nombre compris entre 1et6 tiré au hasard.
*int getface():permettant de retourner comme résultat le contenu de l'attribut face.)
***CLASSE JOUEUR***
*constructeur par défault: joueur(string s):permettant d'inisialiser l'attribut nom au contenu de l'argument s.
*void ajoute():permettant d'allouer dynamiquement l'objet dé puis ajouter le nombre de points marqués au score du joueur.
*int getscore:permettant de retourner comme résultat,le contenu de l'attribut score.
*string getnom():permettant de retourner comme résultat ,le contenu de l'attribut nom.
***CLASSE JEU***
*constructeur à deux arguments: jeu(string s1,string s2):permettant de -passer les arguments s1 et s2 aux objets j1 et j2.
*initialiser l'attribut nbessais à la valeur 0.
*initialiser l'attribut res à la valeur -1.
*lire le jeu à la liste des jeux déja crée à l'aide de l'attribut suivant.
*void partie():permettant d'effectuer une partie de jeu entre joueur1 et joueur2 comme suit:
1-répéter les étapes suivantes tant que le score 21 n'est pas encore atteint par l'un des 2 joueurs.
-incrémenter le nombre d'essais.
-afficher les scores actuels des joueurs ainsi que le numéro d'essai.
-lancement du dé par joueur1 et joueur2 et ajout des des points marqués par chacun d'eux à son score .
-tester les scores des deux joueurs.
2-afficher le résultat de la partie de jeu.
***CLASSE TOURNOI***
*constructeur permettant de créer un tournoi qui est une liste de jeu.
*ajouter une partie (un jeu) à la liste.
*afficher la liste des parties et leurs résultats.
*faire le classement des joueurs selon leurs résultats dans le tournoi
j'espere bien avoir une solution le plus vite possible et merci !!
Lire la suite 

Correction en java »

12 réponses
Réponse
+1
moins plus
import java.io.IOException;


public class banque {
public class Personne {

static int comptnumero=1;
String nom;
String prenom;
Adresse adress;
String date_de_creation;
int numero;
String numero_de_compte;
double solde;
/* constructeurs */
Personne(String nom,String prenom,double solde,Adresse adresse,String date_de_creation,String numero_de_compte,int numero){
numero=comptnumero++;
this.nom=nom;
this.prenom=prenom;
this.adress=adresse;
this.date_de_creation=date_de_creation;
this.solde=solde;
this.numero=numero;
this.numero_de_compte=numero_de_compte;
}
Personne() throws IOException {
numero=comptnumero++;
System.out.println("Nom :");
nom=Clavier.lireString();

System.out.println("Prénom :");
prenom=Clavier.lireString();

System.out.println("Numéro :");
numero=Clavier.lireInt();
System.out.println("Numéro de compte :");
numero_de_compte=Clavier.lireString();
System.out.println("solde :");
solde=Clavier.lireDouble();

adress = new Adresse();
}

public void impCoord() {
System.out.println("Nom : "+nom+"\nPrénom : "+prenom);}

public String toString(){
return numero+";"+nom+";"+prenom+";;"+adress+";"+numero_de_compte+";"+date_de_creation+";\n";
}
public void affiche(){}


}
public class Adresse {

int numero;
String rue;
String ville;
long code_postal;


/* constructeurs */
Adresse() throws IOException {
System.out.println("Numéro de rue :");
numero=Clavier.lireInt();

System.out.println("Code postal :");
code_postal=Clavier.lireLong();

System.out.println("Rue :");
rue=Clavier.lireString();

System.out.println("Ville :");
ville=Clavier.lireString();
}
Adresse(int numero,String rue,String ville,long code_postal){
this.numero=numero;
this.rue=rue;
this.ville=ville;
this.code_postal=code_postal;
}


public String toString(){
return numero+";"+rue+";"+ville+";"+code_postal;
}
}
public String date()
private int jour,mois,annee;
date(int j,int m,int a)
{jour=j;
mois=m;
annee=a;
}
private boolean bissextile()
{if(annee%4==0) return (true);
else return (false);
}
{int nombre_de_jours()
{int n;
switch (mois){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: n=31; break;
case 2: if(bissextile()) n=29; else n=28; break;
case 4:
case 6:
case 9:
case 11: n=30; break;
default: n=0;break;}return(n);}
{if((jour>0)&&(jour<=nombre_de_jours())&&(mois>0)&&(mois<=12)&&(annee>0))
return (true); else return (false);
}
int getjours(){return (jour);}
int getmois(){return (mois);}
int getannee(){return (annee);}

public class Listecompte {
private ArrayList<Compte> liste ;
/* constructeurs */
public Listecompte() {
liste = new ArrayList();
}

public boolean estvide(){
return liste.isEmpty();
}
public void ajouter(Compte o){
liste.add(o);
}
public void radier(Compte o){
liste.remove(o);
}
public boolean contient(Compte o){
return liste.contains(o);
}
public int cardinal(){
return liste.size();
}
public String toString(){

return liste.toString();
}
public ArrayList<Compte> getListe(){
return liste;
}

}public class Compte {

static long num=1;
double solde;
long numero;
Personne proprietaire;
boolean compt;
String operation;

/* constructeurs */
Compte(double solde,Personne proprietaire){
numero=num++;
this.solde=solde;
this.proprietaire=proprietaire;
compt=true;
operation=" ";
}
Compte() throws IOException {
System.out.println("Entrez le solde de départ :");
solde =Clavier.lireDouble();
numero =num++;
compt=true;
proprietaire = new Personne();
operation=" ";
}
// Méthodes
void ouvrircompte(){
compt=true;
}
void fermercompte(){
compt=false;
}
boolean test(){
if(compt==true)
return true;
else
return false;
}

double avoirSolde(){return(solde);}
long avoirNumero(){return(numero);}

void deposer(double s){
if(test()){
solde=solde +s;
operation=operation+"\nAjout de "+s+"€ sur le compte ";
} else System.out.println("Compte fermé");
}

boolean retirer(double s) {
if(test())
if ((solde - s) >= 0) {
solde=solde - s;
operation=operation+"\nRetrait de "+s+"€ sur le compte ";
return(true);
} else
return(false);
else {System.out.println("Compte fermé"); return false;}
}

public String toString() {
return numero + ";" + solde+";"+proprietaire;
}

void virer(double s, Compte vers) {
if (retirer(s)){
vers.deposer(s);
operation=operation+"correspond au virement de "+s+"€ sur le compte "+vers.numero;
} else
System.out.println("Erreur, impossible de retirer "+s+" du compte "+numero);
}

void impSolde() {
proprietaire.impCoord();
System.out.println("Votre compte " + numero + " a un solde de " + solde);
}
public void affiche(){
System.out.println("Compte n° : "+numero+"\nSolde : "+solde+"DT");
proprietaire.affiche();

}

public String operation(){
return operation;
}

}

public class BanqueApp {

public static void main(String[] args) throws IOException, InterruptedException{
System.out.println( "-------------------------------------------" );
System.out.println( "BIENVENUE DANS LA BANQUE DE " );
System.out.println( "-------------------------------------------" );
new BanqueApp();
}

private static void Erreur(Exception e, int code){
System.err.println("Erreur : "+e);
System.exit(code);
}//Erreur

/* constructeurs */
BanqueApp() throws IOException, InterruptedException{
Listecompte liste = new Listecompte();
// ouverture du fichier
BufferedReader IN=null;
try{
IN= new BufferedReader(new FileReader("list"));
} catch (Exception e){
Erreur(e,1);
}
// données
String ligne=null;
String[] champs=null;
int numero;
String rue;
String ville;
long code_postal;
String nom;
String prenom;
String date_de_creation;
String numero_de_compte;
double solde;
// gestion des éventuelles erreurs
try{
while(((ligne=IN.readLine())).charAt(0)!=']'){
champs=ligne.split(";");
solde=Double.parseDouble(champs[1]);
nom=champs[4];
prenom=champs[5];
numero=Integer.parseInt(champs[7]);
rue=champs[8];
ville=champs[9];
code_postal=Long.parseLong(champs[10]);
date_de_creation=champs[11];
Adresse adres=new Adresse(numero,rue,ville,code_postal);
Personne p = new Personne;



merci polux pr t mais voila j'ai essayé de le faire moi meme et tiens c'est ca tous ce que je peux donne s'il vous plait il y'a des erreurs qui persistent ! donc j'ai besoin de ton aide et merci une autre fois
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Tu attends koi ? le source tout fait pour un copier/coller ???
ICI C'EST UN FORUM D'AIDE ... PAS UN FORUM POUR FAIRE FAIRE VOS EXERCICES PAR QUELQU'UN D'AUTRE ....
zgouda- 1 avril 2008 à 14:53
bonjour:
merci ds ts les k mais j'ai ecris tout le core du prog pour q sera + facile de m'aider j'ai essaié moi meme de creé les quatres classes moi meme et juste je cherche un peu d'aide
milanGTO - 2 nov. 2010 à 20:05
bonjour
Ajouter un commentaire
Réponse
+0
moins plus
ok, mais pose des questions plus précise. Là tu ne met que l'énnoncé.
Dit ou tu bloques.
Polux31- 2 avril 2008 à 10:10
salut Char Snipeur, 1 point pour ta réponse ... j'adhère complètement.

Voilà l'algo de FLAMP et FLTM :

Faites
Le
A
Ma
Place
qui marche parfois ... (merci les bonnes poires)

Fait
Le
Toi
Même
qui fonctionne à tous les coups (debout les fainéants) ...

;o)

polux
zgouda- 3 avril 2008 à 00:59
st et merci pour les 2 alg mais je prefere bien le 1er et j'en suis sur que au cour de cette semaine je vais trouver une solu et tiens voila un alg (z 3 s y b) que je te laisse te compiler tout seul
Polux31- 3 avril 2008 à 07:59
merci mais j'ai besoin de rien venant de toi ... et si tu continues les injures et la multilications de topics sur le meme sujet, je serai dans l'obligation d'en informer les modérateurs ...
Ajouter un commentaire
Réponse
+0
moins plus
Ben voilà ... la méthode FLAMP ... tu devrais plutot faire la méthode FLTM ... je pense que ça ira mieux
Ajouter un commentaire
Réponse
+0
moins plus
c'est quoi cette classe Personne avec 2 ou 3 classes dedans ????
Ajouter un commentaire
Ce document intitulé « correction en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?