Aide Java

Résolu/Fermé
hedii Messages postés 39 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 19 juin 2013 - Modifié par hedii le 27/05/2013 à 19:37
hedii Messages postés 39 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 19 juin 2013 - 29 mai 2013 à 18:03
Bonjour, je suis etudiant e debutant en java j'aurais besoin d'aide pour corriger un programme (exercice), merci a vous !

-Voici l'énoncé:

1) Créez une classe Point contenant :
* 2 attributs entiers x et y (pouvants être public)
* une méthodes int distance (Point p1) qui retourne la distance (entre le p1
et le point courant
* Un constructeur et une méthode d'affichage

-Voici mon programme (il y a une faute dans le System.in.read(int, int); qui a été soulignée par java):

package tp1ex3;

/**
*
* @author 12mi143
*/
public class Point {
private int x=1;
private int y=2;
/** Creates a new instance of Point */
public Point(int x, int y) {
this.x=x;
this.y=y;
}
public int distance (int x1, int y1) {
float ditance;
System.out.println("Entrer les coordonnées x1, y1 du point");
System.in.read(int, int);

return (int) (ditance=((x1-x)*(x1-x)+(y1-y)*(y1-y))^(1/2));
}
public void affichage (float distance) {
System.out.println("distance=" +distance);
}
}
A voir également:

3 réponses

yoann090 Messages postés 9180 Date d'inscription mercredi 12 août 2009 Statut Contributeur sécurité Dernière intervention 13 avril 2016 1 687
Modifié par yoann090 le 27/05/2013 à 23:20
Bonjour,

Je n'ai jamais utilisé System.in.read (j utilise directement une classe clavier pour faciliter le traitement) mais a priori il faut lui donner plus d'information
Sinon comment le programme peut il savoir que vous voulez remplir les valeurs des variables x1 et x2
0
yoann090 Messages postés 9180 Date d'inscription mercredi 12 août 2009 Statut Contributeur sécurité Dernière intervention 13 avril 2016 1 687
28 mai 2013 à 15:56
Et pour calculer la racine carrée tu peux utiliser la fonction Math.sqrt() plutôt qu'écrire à la puissance 1/2.
0
DarkenNights Messages postés 134 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 17 décembre 2013 10
27 mai 2013 à 23:53
Change ce truc tout moche de System.in.read en ceci:

Scanner sc = new Scanner(System.in);
System.out.println("Entrer les coordonnées x1");
String x1 = sc.nextLine();
System.out.println("Entrer les coordonnées y1");
String y1 = sc.nextLine();

Noublie pas d'importer la class Scanner
0
hedii Messages postés 39 Date d'inscription samedi 7 janvier 2012 Statut Membre Dernière intervention 19 juin 2013
29 mai 2013 à 18:03
Je me susi debrouillé, merci pour l'aide, voici le resultat:

package tp1ex3;

/**
*
* @author 12mi143
*/
public class Point {
public int x=1;
public int y=2;
/** Creates a new instance of Point */
public Point(int x, int y) {
this.x=x;
this.y=y;
}
public int distance (Point P1) {
int ditance;
return (int) Math.sqrt((x-P1.x)*(x-P1.x)+(y-P1.y)*(y-P1.y));
}
public void affichage () {
System.out.println("Point:" +x +y);
}
}
0