Conditions if/else

carla1612 Messages postés 16 Statut Membre -  
Sankazz Messages postés 8 Statut Membre -
Bonjour,

Je débute en programmation (java) dans mon exercice je dois créer un rectangle, puis je dois rajouter un point (x;y) et vérifier si ce point se trouve à l'intérieur du rectangle.
Je sais que je dois utiliser plusieurs "if" mais je ne sais pas comment m'y prendre !
Merci pour votre aide.

3 réponses

Chris 94 Messages postés 58330 Statut Modérateur 7 347
 
0
carla1612 Messages postés 16 Statut Membre
 
Bonjour Chris,

Je ne cherche évidemment pas une réponse mais plutôt une aide pour comprendre comment démarrer d'autant plus que le codage est le pire ennemi du "recopiage".
Peut être ai je mal formulé ma question.

Je sais que pour vérifier si un certain point se trouve dans mon rectangle je dois utiliser la formue if mais étant donné que j'ai 4 variables (a,b,x,y) je ne sais pas laquelle comparer avec laquelle.

Merci
0
Chris 94 Messages postés 58330 Statut Modérateur 7 347 > carla1612 Messages postés 16 Statut Membre
 
C'est plus un problème de math que de codage... Les coordonnées x,y sont-elles comprises ou pas entre les coordonnées des points qui déterminent le rectangle ?
0
carla1612 Messages postés 16 Statut Membre
 
public class Rectangle {

private  int  x, y;
  private   int  height, width;

public Rectangle(int a, int b, int c, int d){
   x=a;
   y=b;
   height=c;
   width=d;
  }




voila les caractéristiques de mon rectangle.
Je suis sensée définir un autre point avec des coordonnées et prouver qu'il est (ou pas) à l'intérieur de ce rectangle.
0
Chris 94 Messages postés 58330 Statut Modérateur 7 347
 
C'est un début... Je t'ai rappelé les conditions à appliquer. C'est à toi de les "traduire" en java.

NB : avec le bouton
 <> 
en haut des fenêtres de saisie tu peux affecter un style correspondant au langage. Je l'ai fait pour toi ci-dessus.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

public Rectangle(int a, int b, int c, int d){
   x=a;
   y=b;
   height=c;
   width=d;
}

Pour moi les valeurs qui caractérisent ton objet sont insuffisantes pour déterminer la forme d'un rectangle quelconque.

Imaginons que je fasse
new Rectangle(0, 0, 1, 2);
quelles seront les coordonnées des 4 sommets de ton rectangle ? Pourquoi ?
0
Sankazz Messages postés 8 Statut Membre 2
 
On s'en fout de ça, il n'a pas besoin de definir les coordonées des 4 sommets. Il programme donc c'est sur écran ! Et voilà comment on dessine un rectangle sur écrant.

A et B sont les coordonées du point de depart du rectangle.
C la hauteur du rectangle.
D la largeur du rectangle.

Point1 (a;b) , point2((a+d); b)
Point3 ((a+d);(b+c) , point4(a;(b+c)

Suffit juste de rajouter la largeur au point x de depart.
Et la hauteur au point y de depart pour dessiner le rectangle.
0
Chris 94 Messages postés 58330 Statut Modérateur 7 347 > Sankazz Messages postés 8 Statut Membre
 
Euh ? Merci mais... comment tu nous fais tout ça en java ?
0
Sankazz Messages postés 8 Statut Membre 2 > Chris 94 Messages postés 58330 Statut Modérateur
 
Class graphics mec tout simplement
0
KX Messages postés 19031 Statut Modérateur 3 020
 
D'une part dessiner le rectangle n'a a priori aucun intérêt pour carla1612 qui veut juste savoir si le point est dedans ou non.

D'autre part Graphics dessine uniquement des rectangles dont les côtés sont parallèles aux axes, ce qui est un cas très particulier.
Pour un rectangle quelconque il manque une information sur l'orientation du rectangle.

De plus Graphics fait un choix, celui de considérer que le point dont on donne les coordonnées est celui en haut à gauche. Ce choix est tout à fait arbitraire et il est tout à fait possible que carla1612 ait fait un autre choix.
De même Graphics fait le choix de dire que width est la taille du rectangle parallèlement à l'axe des x, et que height est sa taille parallèlement à l'axe des y. Là encore c'est un choix tout à fait arbitraire, et au passage anti-mathématiques, puisque normalement la longueur est censé être le plus grand des deux côtés du rectangle.

Bref, parce qu'il y a tout ces choix possibles, 4 entiers ne permettent pas de savoir à quoi ressemblera le rectangle. Il est possible d'en déduire une infinité de rectangles différents.

"Imaginons que je fasse new Rectangle(0, 0, 1, 2);"
Voici un rectangle dont le x de départ et le y de départ sont (0,0) la hauteur est de 1, la largeur est de 2...


On est très loin du rectangle que dessinerait Graphics... et il y a une infinité de variantes possibles de ce même rectangle.
0
Sankazz Messages postés 8 Statut Membre 2 > KX Messages postés 19031 Statut Modérateur
 
Vu sous cet angle...
0