Correction en java

Résolu/Fermé
Utilisateur anonyme - 31 mars 2008 à 18:21
 milanGTO - 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 !!
A voir également:

5 réponses

Utilisateur anonyme
4 avril 2008 à 23:34
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
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
31 mars 2008 à 19:58
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 ....
0
Utilisateur anonyme
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
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
1 avril 2008 à 15:42
ok, mais pose des questions plus précise. Là tu ne met que l'énnoncé.
Dit ou tu bloques.
0
Utilisateur anonyme
1 avril 2008 à 21:20
mes salutations les plus desinguées cher char snipeur , s'il vous plait pouvez vous me donner le code de la classe joueur et merci!
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298 > Utilisateur anonyme
2 avril 2008 à 09:58
Non, j ne vais pas te donner ça.
Une aide veux dire qu'on répond à des question PRECISES.
du genre : "quand je met ça [code] pour le constructeur de la class joueur, le compilateur me retourne une erreur, pourquoi et que faire ?"
à ce moment là, on pourra te corriger te donner des conseil, voire te faire un petit point théorique.
Mais n'attend pas qu'on te dise : "tiens voilà la class joueur que j'ai fait à ta place, tu n'as plus qu'a la mettre dans ton projet". Bon après, tu pourras toujours trouver quelques pommes qui le feront, mais c'est pas la meilleurs solution pour toi, car tu n'en retiendra pas grand chose.

Polux, c'est quiu tes méthodes FLAMP et FLMT ?
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204 > Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023
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
0
Utilisateur anonyme > Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016
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
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204 > Utilisateur anonyme
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 ...
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
2 avril 2008 à 01:09
Ben voilà ... la méthode FLAMP ... tu devrais plutot faire la méthode FLTM ... je pense que ça ira mieux
0

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

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
5 avril 2008 à 10:34
c'est quoi cette classe Personne avec 2 ou 3 classes dedans ????
0