2013-04-17 3 views
0
public class circle 
{ 

    double circle1; 

    double Xvalue; 

    double Yvalue; 

    double radius; 

    public double area = (3.14*(this.radius * this.radius)); 

    public double getArea() 
    { 
     return area; 




    } 

} 

// ceci est ma deuxième classe qui va créer les objetscomment appeler une méthode d'instance dans une autre classe

public class tester 
{ 
    public static void main(String args []) 

    { 

     circle circle1 = new circle(); 

     circle1.Xvalue = 1; 

     circle1.Yvalue = 2; 

     circle1.radius = 4; 

     System.out.println(getArea()); 


     //im not too sure why the print statement won't print the method getArea. 

    } 
} 
+0

Il convient également de noter que pour coller avec votre nom convention de classe doit être en majuscule cercle au lieu de cercle et testeur au lieu de tester –

+0

'nameOfVariableContainingPointerToInstance.nameOfInstanceMethod (. paramètres); '(Avec' .' remplacé par '->' en C/C++, et le tout s'est retourné en Objective-C.) –

Répondre

0

Vous avez besoin System.out.println(circle1.getArea());, sinon il essaie de trouver une méthode appelée getArea() dans votre classe Tester qui n'a pas cette méthode.

En outre, votre code renvoie toujours une zone de 0. Ceci est dû à la façon dont vous initialisez vos données:

Lorsque vous créez votre nouvel objet cercle, il crée xValue et parce qu'il est un type primitif (double au lieu de Double) il lui donne par défaut la valeur 0 (car il doit avoir une certaine valeur).

Alors, quand il descend à l'endroit où vous définissez la variable de la zone à ce moment (car il crée encore votre objet, il le fait (zone = 3.14 * (0.0 * 0.0)) qui va être 0.

Qu'est-ce que vous voulez vraiment est quelque chose comme ceci:.

public class Circle { 

    double Xvalue; 

    double Yvalue; 

    double radius; 

    public Circle(double xValue, double yValue, double radius) { 
     this.xValue = xValue; 
     this.yValue = yValue; 
     this.radius = radius; 
    } 

    public double getArea() 
    { 
     return 3.1415926*(this.radius * this.radius); 
    } 
} 

public class Tester 
{ 
    public static void main(String[] args) 

    { 

     Circle circle1 = new Circle(1, 2, 4); 

     System.out.println(circle1.getArea()); 


     //im not too sure why the print statement won't print the method getArea. 

    } 
} 
Questions connexes