Je veux resoudre ce programme en java
paclemzo
-
danimo -
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
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
-
-
-
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