Je veux resoudre ce programme en java

paclemzo -  
 danimo -
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. Defouille Messages postés 404 Statut Membre 54
     
    Tu utilises qu'elle librairie graphique en Java ?
    0
  2. danimo
     
    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