Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage Java > [JAVA] Mon premier programme > Lecture du sujet

[JAVA] Mon premier programme

Qu'est ce que vous en pensez ?

Vous devez être inscrit pour pouvoir poster des messages

RésoluLe problème de ce sujet a été résolu

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Hors ligne NarTy # Posté le 07/01/2006 à 10:32:40
Je t'aime amèrement !
Avatar
Groupe : Bannis
Bonjour à tous , j'étudie le JAVA avec l'aide d'un bouquin et je voudrais vous montrer mon premier programme et j'aimerai savoir ce que vous en pensez ?
Voici les codes sources
Code : Java
/* La Classe calculette */

public class calculette
{
        static int result;
       
        protected static int calcul(int a,int b,char operat)
        {
               
                if(operat == '+') result = (a + b);
                if(operat == '-') result = (a - b);
                if(operat == '*') result = (a * b);
                if(operat == '/') result = (a / b);
                return result;
        }
        protected static int demande()
        {
                int a = Clavier.lireInt("Votre premier chiffre ?");
                int b = Clavier.lireInt("Votre deuxieme chiffre ?");
                char operat = Clavier.lireChar("Votre operateur ?");
                int result = calcul(a,b,operat);
                return result;
        }

}

Code : Java
/* La Classe Plus Ou Moins */

public class plusoumoins
{
                double reponse;       
                int chiffre = 0;
                // contructeur
                public plusoumoins()
                {
                        Math.random();
                }
                // contructeur
                public plusoumoins(int a)
                {      
                        Math.random();
                }
                // methode
                public int demande()
                {
                        this.chiffre = Clavier.lireInt("Quel est le chiffre");
                        return chiffre;
                }
                // methode
                public int plus()
                {
                        System.out.println("Desole le chiffre est plus petit , veuillez reessayez .");
                        chiffre = this.demande();
                        return chiffre;
                }
                // methode
                public int moins()
                {
                        System.out.println("Desole le chiffre est plus grand , veuillez reessayez .");
                        chiffre = this.demande();
                        return chiffre;
                }
                // methode
                public void bravo()
                {
                        System.out.println("Bravo ! Vous avez trouve le bon chiffre "+chiffre);
                }
}

Code : Java
/*  La classe Theoreme */
public  class Theoreme
        {
                public double calcul_hypo(int cote1,int cote2)
                {
                        int carre1 = cote1*cote1;
                        int carre2 = cote2*cote2;
                        int carre = carre1 + carre2;
                        double hypo = Math.sqrt(carre);
                        return hypo;
                }
                public double calcul_cote(int cote,int hypo)
                {
                        int hypo_carre = hypo*hypo;
                        int cote_carre = cote*cote;
                        int carre = hypo_carre-cote_carre;
                        double cote2 = Math.sqrt(carre);
                        return cote2;
                }
        }

Code : Java
/* La Classe Reciproque */
public class Reciproque
        {
                public boolean calcul(int cote1,int hypo,int cote2)
                {
                        boolean vrai_ou_faux;
                        int cote_carre = cote1*cote1 + cote2*cote2;
                        int hypo_carre = hypo*hypo;
                        if(cote_carre == hypo_carre)
                        {
                                vrai_ou_faux = true;
                        }
                        else
                        {
                                vrai_ou_faux = false;
                        }
               
                        return vrai_ou_faux;
                }
        }

Et bien sur mon script final , utilisant toutes ces classes
Code : Java
class programme
{
        public static void main(String[] args)
        {
                System.out.println("BONJOUR A TOUS !! ET BIENVENUE DANS MON PROGRAMME !");
                System.out.println("Je vous propose plusieurs choix : ");
                System.out.println("1- Calculette : ");
                System.out.println("2- Jeu Plus ou Moins : ");
                System.out.println("3- Math pythagore : ");
                System.out.println("4- Math reciproque : ");
                int repons = Clavier.lireInt("Entrez le numero de votre choix");
                System.out.println("Bien ! \n____________________________________________");
                switch(repons)
                {
                        case 1 : System.out.println("Vous avez choisi d'utiliser la calculette");break;
                        case 2 : System.out.println("Vous avez choisi de jouer ");break;
                        case 3 : System.out.println("Vous avez choisi le theoreme de pythagore ");break;
                        case 4 : System.out.println("Vous avez choisi la reciproque de pythagore ");break;
                        default : System.out.println("Vous n'avez pas entrer un numero correct");break;
                }
/*  --------------------------------------------------------------------------------------------------
 *   Jeu PLusOuMoins
 * -------------------------------------------------------------------------------------------------- */

                if(repons == 2)
                {
                        char choix;
                        jeu : do
                        {
                                plusoumoins a = new plusoumoins();
                                a.reponse = 12;
                                int rep = (int)a.reponse;
                                int chiffre = a.demande();
                                int fois = 5;
                                System.out.println("Vous avez 5 chances");
                                do
                                {
                                        if(chiffre < rep)
                                        {
                                                a.moins();     
                                                fois--;  
                                        }
                                        else if(chiffre > rep)
                                        {
                                                a.plus();
                                                fois--;
                                        }
                                        else if(chiffre == rep)
                                        {
                                                a.bravo();
                                                break;
                                        }
                                        System.out.println("Il vous reste "+ fois +" chance");
                                }while(fois > 0 );
                               
                                choix = Clavier.lireChar("Voulez vous continuer de jouer ? (o/n)");
                        }while (choix == 'o');
                }
/*  --------------------------------------------------------------------------------------------------
 *   Calculette
 * -------------------------------------------------------------------------------------------------- */
       
               if(repons == 1)
               {
                      calculette a = new calculette();
                      char y_n;
                      do
                      {
                              int result = a.demande();
                              System.out.println("Le resultat est  "+result);
                              y_n = Clavier.lireChar("Voulez vous continuez ? (o/n)");
                       }while(y_n == 'o');
               }     
 /*  --------------------------------------------------------------------------------------------------
 *   Theoreme de Pythagore
 * -------------------------------------------------------------------------------------------------- */

               if(repons == 3)
               {
                      char choix;
                      theo : do
                      {
                              char calcul = Clavier.lireChar("Que voulez vous calculez ? (c pour 'cote'/ h pour 'hypothenuse')");
                              if(calcul == 'h')
                              {
                                     int cote = Clavier.lireInt("Entrez la mesure d'un cote de votre triangle rectangle ");
                                     int cote2 = Clavier.lireInt("Puis celle de l'autre ");
                                     Theoreme reme = new Theoreme();
                                     double rem = reme.calcul_hypo(cote,cote2);
                                     System.out.println("L'hypothenuse de votre rectangle mesure "+(float)rem+" cm");
                                     
                              }
                              else if(calcul == 'c')
                              {
                                     int cote = Clavier.lireInt("Entrez la mesure d'un cote de votre triangle rectangle ");
                                     int hypo = Clavier.lireInt("Puis celle de l'hypothenuse ");
                                     Theoreme reme = new Theoreme();
                                     double rem = reme.calcul_cote(cote,hypo);
                                     System.out.println("L'autre cote de votre rectangle mesure "+(float)rem+" cm");
                              }
                              else
                              {
                                     System.out.println("Nous ne pouvons pas calculer cette chose");
                              }
                              choix = Clavier.lireChar("Avez vous un autre calcule a faire ? (o/n)");
                       }while(choix == 'o');
               }     
 /*  --------------------------------------------------------------------------------------------------
 *   Reciproque du Theoreme de Pythagore
 * -------------------------------------------------------------------------------------------------- */

               if(repons == 4)
               {
                      char choix;
                      reci : do
                      {
                              int cote = Clavier.lireInt("Entrez la mesure d'un cote de votre triangle ");
                              int cote2 = Clavier.lireInt("Puis celle de l'autre ");
                              int hypo = Clavier.lireInt("Puis celle de l'hypothenuse ");
                              boolean v_ou_f;
                              Reciproque proque = new Reciproque();
                              v_ou_f = proque.calcul(cote,hypo,cote2);
                              if(v_ou_f == true)
                              {
                                     System.out.println("Ce triangle est bien rectangle");
                              }
                              else
                              {
                                     System.out.println("NON ! Ce triangle n'est pas rectangle");
                              }
                              choix = Clavier.lireChar("Avez vous une autre demande à faire ? (o/n)");
                       }while(choix == 'o');
               }     
        }       
}

Alors ?


Venez jouer
Mon blog => JuLeS’ ProGs
Programmeur xHTML/CSS,PHP/SQL,Javascript,C à votre service

 
Hors ligne phoenix_stealer # Posté le 07/01/2006 à 11:34:36
Il faut un debut a tout
Avatar
Groupe : Membres
Coucou

alors d'abord pas mal du tout pour commencer avec un bouquin, c'est bien, et c'est presenté c'est agreable, bon ensuite qques petits trucs qui me derange un peu :) (parole de chieur)

Je pense que tu as le droit mais pourquoi tu mets, dans la classe calculette, des tas de if, disons que ce serait peut etre plus adapté de mettre un switch, mais bon ca c'est toi qui voit.

Ensuite, pour la demande du calculs dans la meme classe... d'habitude, quand tu fais un calcul, tu fais plutot le premier chiffre, le signe, et le second. moi je le ferait dans ce sens plutot
Code : Java

protected static int demande()
        {
                int a = Clavier.lireInt("Votre premier chiffre ?");
 char operat = Clavier.lireChar("Votre operateur ?");
                int b = Clavier.lireInt("Votre deuxieme chiffre ?");
               
                int result = calcul(a,b,operat);
                return result;
       

ensuite, dans la classe plus ou moins, tu fais une surcharge de constructeur, truc plutot joli, mais elle ne sert a rien car tu fais exactement la meme chose dans les deux constructeurs et tu n'utilise jamais a, donc enleve ce constructeur, non?
Code : Java

public plusoumoins()
                {
                        Math.random();
                }
                // contructeur
                public plusoumoins(int a)//je supprimerais celle la
                {     
                        Math.random();
                }

Ensuite, j'aurais pas fait deux methodes grand et peti mais une methode ecart, dans lequel il y aurait eu un if, comme ca tu aurais juste eu a prendre le chiffre entré, le comparé, et ca aurait renvoyé la reponse en une seule methode, plutot que de faire la comparaison dans ta methode main, et ensuite de choisir la classe entre grand et petit (je dois etre clair...)
un truc comme ca :)
Code : Java

public int plus()
                {
                        System.out.println("Desole le chiffre est plus petit , veuillez reessayez .");
                        chiffre = this.demande();
                        return chiffre;
                }
                // methode
                public int moins()
                {
                        System.out.println("Desole le chiffre est plus grand , veuillez reessayez .");
                        chiffre = this.demande();
                        return chiffre;
                }
                // methode
                public void bravo()
                {
                        System.out.println("Bravo ! Vous avez trouve le bon chiffre "+chiffre);
                }

//moi je fais :
//dans le constructeur, je donne a valeur de la reponse
public int ecart(int choix_joueur)
{
if(choix_joueur>reponse)
     System.out.printlnn("la reponse est plus petite");
else if (choix_joueur<reponse)
     System.out.printlnn("la reponse est plus grande");
else
     System.out.println("bravo !!!");
return choix_joueur;
}


Bon ensuite pour pythagore...les carres je mettrais des double, car tu pourrais avoir un coté faisant 2,5 cm de coté...

pour la reciproque tu peux faire plus joli
Code : Java

public boolean calcul(int cote1,int hypo,int cote2)
                {
                       
                        int cote_carre = cote1*cote1 + cote2*cote2;
                        int hypo_carre = hypo*hypo;
                        return (cote_carre == hypo_carre)
                       
                }

Ca c'est correct, tu vas renvoyé le boolean de ta condition, et c'est bcp plus rapide non?

Enfin, dans la methode main , pas grand chose a redire, sauf si tu change pythagore et ca reciproque pour mettre des doubles, faut que tu le fasses aussi dans la main.

et que dans la partie reciproquen, plutot que ecrire : if(vrai_ou_faux == true), tu peux ecrire if(vrai_ou_faux)

C'est implicite.

j'espere avoir pu aider
Édité le 07/01/2006 à 11:43:35 par phoenix_stealer

"
- L'informatique est un travail de faignant, le but c'est d'en faire le moins possible !!

- Donc je peux ne pas venir au devoir?!

- ... Ok pour cette fois.
"
 
Hors ligne NarTy # Posté le 07/01/2006 à 14:06:17
Je t'aime amèrement !
Avatar
Groupe : Bannis
Oui merci à toi , de toute facon , ce sont de petits problemes qui n'alterent pas le résultat !! Mais , je prefere alléger mon code source
@+

Venez jouer
Mon blog => JuLeS’ ProGs
Programmeur xHTML/CSS,PHP/SQL,Javascript,C à votre service

 
Hors ligne Sh4rk # Posté le 07/01/2006 à 17:12:37
LE PREDATEUR DE TOPIC ALAKON
Avatar
Modérateurs
Le programme est bien présenté mais y'a quelquechose qui me chagrine. Ce programme est de niveau débutant et tu utilise déjà la notion de POO, je voulais juste savoir si tu avais compris la différence entre static et non static (pour tes fonctions).. Car on ne peut pas se lancer dans la POO sans en comprendre les bases
 
Hors ligne NarTy # Posté le 07/01/2006 à 17:20:22
Je t'aime amèrement !
Avatar
Groupe : Bannis
oui pourquoi , je l'utilise mal ?

Venez jouer
Mon blog => JuLeS’ ProGs
Programmeur xHTML/CSS,PHP/SQL,Javascript,C à votre service

 
Hors ligne Sh4rk # Posté le 07/01/2006 à 18:42:53
LE PREDATEUR DE TOPIC ALAKON
Avatar
Modérateurs
Nonon tu l'utilise bien pour le moment mais c'était pour m'assurer que tu ne recopiait pas un programme les yeux fermés sans comprendre la signification de certaines choses. Mais puisque u me dis que oui je te souhaite bonne continuation
 
Hors ligne NarTy # Posté le 07/01/2006 à 19:26:42
Je t'aime amèrement !
Avatar
Groupe : Bannis
ok merci , mais je t'assure que ce code source vient purement de mon imagination lol
@+

Venez jouer
Mon blog => JuLeS’ ProGs
Programmeur xHTML/CSS,PHP/SQL,Javascript,C à votre service

 

Retour au forum "Langage Java" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 284 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0291s (0.012s)