Je veux resoudre ce programme en java

Bonjour,
svp j'ai un probleme a resoudre ce programme.
le programme doit realiser un triangle rectangle dirige vers le haut et vers le bas. on imposera a l'utilisateur de saisir une taille compris entre 5 et 10 sinon le programme reprend. l'utilisateur n'a droit qu'a 3 essai au maximum pour donner une valeur acceptable. le choix de l'orientation sera la valeur 0 vers le bas et 1 vers le haut . merci j'espere avoir une reponse
Configuration: Windows 7
Firefox 3.5.7

3 réponses

  1. Tu utilises qu'elle librairie graphique en Java ?
    0
    1. Salut,

      Je n'ai pas compri ce que signifie "un triangle rectangle dirigé vers le haut et vers le bas"
      Les dimensions du triangle (5 à 10) sont vraiment petites mais bon c'est plus clair avec une couleur de fond !!!

      Supposons que tu utilisises la classe Graphics voici un exemple:

         import javax.swing.*;
         import java.awt.*;
         import java.awt.Toolkit;
      	
          public class TriangleRectangle extends JFrame
         {
            private int x, y;
            
            private static Font font14;
         
             public TriangleRectangle()
            {
               super("TRACER UN TRIANGLE RECTANGLE."); // titre
            
               setSize(538, 248); // dimensions frame
               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               setVisible(true);
            }
         
             public void paint(Graphics g)
            {
               super.paint(g);
            
            // tester avec l'un des 3 groupes de 6 points les 2 autres étant en commentaire
            
            	// supposons que ces points sont saisis par l'utilisateur
            	// les 3 essais ne sont pas traités puisque la saisie est simulée
            	// le triangle sera de bonnes dimensions
               /*int pointXHautGauche = 20;
               int pointYHautGauche = 35;
               int pointXBasGauche = pointXHautGauche; // (ou = 20) doit etre egal a pointXHautGauche
               int pointYBasGauche = 40; // soit une "hauteur" de 40 - 35 = 5
               int pointXBasDroite = 30; // Soit une "largeur" de 30 - 20 = 10
               int pointYBasDroite = pointYBasGauche; // (ou 40) doit etre egal a pointYBasGauche  */
            	
            	// Avec ces points les dimensions seraient refusées
               int pointXHautGauche = 20;
               int pointYHautGauche = 35;
               int pointXBasGauche = pointXHautGauche; // (ou = 20) doit etre egal a pointXHautGauche
               int pointYBasGauche = 40; // soit une "hauteur" de 40 - 35 = 5
               int pointXBasDroite = 25; // Soit une "largeur" de 25 - 20 = 5
               int pointYBasDroite = pointYBasGauche; // (ou 40) doit etre egal a pointYBasGauche
            	
            	// Avec ces points les dimensions seraient aussi refusées
               /*int pointXHautGauche = 20;
               int pointYHautGauche = 35;
               int pointXBasGauche = pointXHautGauche; // (ou = 20) doit etre egal a pointXHautGauche
               int pointYBasGauche = 230; // soit une "hauteur" de 230 - 20 = 210
               int pointXBasDroite = 515; // soit une "largeur" de 515 - 20 = 495
               int pointYBasDroite = pointYBasGauche; // (ou 230) doit etre egal a pointYBasGauche  */
            
               int hauteur = pointYBasGauche - pointYHautGauche;
               int largeur = pointXBasDroite - pointXBasGauche;
            	
               // A vérifier:
            /*	Si "hauteur" <5 OU >10 >>>> ERREUR
            	Si "largeur" <5 OU >10 >>>> ERREUR
            	Si "hauteur" >5 ET <=10 soit 6 a 10 "largeur" doit etre 5
            	Si "largeur" >5 ET <=10 soit 6 a 10 "hauteur" doit etre 5
            	Si "hauteur" =5 "largeur" doit etre 6 a 10
            	Si "largeur" =5 "hauteur" doit etre 6 a 10  */
            
               boolean err = false;	
               if( (hauteur < 5) || (hauteur > 10) || (largeur < 5) || (largeur > 10) )
               {
                  err = true;
               }
               if( (hauteur > 5) && (hauteur <= 10) && (largeur != 5) )
               {
                  err = true;
               }
               if( (largeur > 5) && (largeur <= 10) && (hauteur != 5) )
               {
                  err = true;
               }
               if( (hauteur == 5) && (largeur < 6) || (largeur > 10) )
               {
                  err = true;
               }
               if( (largeur == 5) && (hauteur < 6) || (hauteur > 10) )
               {
                  err = true;
               }
               if(err)
               {
                  Toolkit.getDefaultToolkit().beep();
                  g.setFont(font14); // texte erreur
                  g.setColor(Color.red);
                  g.drawString("ERREUR DIMENSIONS", 30, 50);
               }
               else
               {
               // Dessiner un triangle rectangle plein (3points)
                  Polygon triangleRect = new Polygon();
               //g.setColor(Color.orange); // noir par défaut s'il n'y a pas de fond d'une autre couleur
                  triangleRect.addPoint(pointXHautGauche, pointYHautGauche); // points haut gauche
                  triangleRect.addPoint(pointXBasGauche, pointYBasGauche);   // points bas gauche
                  triangleRect.addPoint(pointXBasDroite, pointYBasDroite);   // points bas droite
                  //g.setColor(Color.orange);     // fond du triangle
                  g.fillPolygon(triangleRect);      // remplissage de noir par défaut ou orange
               	                                  // en enlevant les // de la ligne ci-dessus
                  g.drawPolygon(triangleRect);      // affichage;
               }
            }
         
             public static void main(String[] args)
            {
               new TriangleRectangle();
            }
         }
      


      C'est toujours moche quand on simule plusieurs cas pour tester...

      Cordialement,

      Dan
      0