Conditions if/else

carla1612 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Sankazz Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
0
carla1612 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345 > carla1612 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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 11 Date d'inscription   Statut Membre Dernière intervention  
 
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 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 7 Date d'inscription   Statut Membre Dernière intervention   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 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345 > Sankazz Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Euh ? Merci mais... comment tu nous fais tout ça en java ?
0
Sankazz Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   2 > Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention  
 
Class graphics mec tout simplement
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 7 Date d'inscription   Statut Membre Dernière intervention   2 > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
Vu sous cet angle...
0