Rectangle.java:32: unexpected type
required: class
found   : value
这是段代码报的第一个错!public class Rectangle {
 Point a;
 Point b;
 Point c;
 Point d;
 
Point getPointa (Rectangle r) { 
return  r.a;
}

Point getPointb (Rectangle r) { 
return r.b;
}

Point getPointc (Rectangle r) { 
return  r.c;
}

Point getPointd (Rectangle r) { 
return  r.d;
}

 boolean f(Rectangle  r ) {
double p1 = r.getPointa(r).getX();
double p2 = r.getPointa(r).getY();
double o1 = r.getPointb(r).getX();
double o2 = r.getPointb(r).getY();
double i1 = r.getPointc(r).getX();
double i2 = r.getPointc(r).getY();
double n1 = r.getPointd(r).getX();
double n2 = r.getPointd(r).getY();
if( (p1- o1)*(p1-o1)+(p2-o2)(p2-o2)==(i1-n1)*(i1-n1)+(i2-n2)*(i2-n2)&&(p1-n1)*(p1-n1)+(p2-n2)*(p2-n2)==(o1-i1)*(o1-i1)+(o1-i1)*(o1-i1))
return true;
else
return false;
}

 double getArea(Rectangle r) {
double p1 = r.getPointa(r).getX();
double p2 = r.getPointa(r).getY();
double o1 = r.getPointb(r).getX();
double o2 = r.getPointb(r).getY();
double i1 = r.getPointc(r).getX();
double i2 = r.getPointc(r).getY();
double n1 = r.getPointd(r).getX();
double n2 = r.getPointd(r).getY();
double area = 0;
area = ((p1- o1)*(p1-o1)+(p2-o2)(p2-o2))*((p1-n1)*(p1-n1)+(p2-n2)*(p2-n2));
return area;
}

public static void main(String [] args) {
Rectangle r = new Rectangle();
Point n = new Point(0 , 0) ;
    r.a = new Point( 2.3 , 1.6);
r.b = new Point( 6.3 , 1.6);
r.c = new Point( 6.3 , 3.6);
r.d = new Point( 2.3 , 3.6);
if (r.f(r) == true)
System.out.println(r.getArea(r));
}
}class Point {
double x , y;
Point (double x , double y) {
this.x = x ;
this.y = y;


double setX(double x) {
return this.x = x;
}

double setY(double y) {
return this.y = y;
}

double getX() {
return x;
}

double getY() {
return y;
}
}
我想知道这是为什么啊?

解决方案 »

  1.   

    我只要把getArea和f这两个方法注释掉就可发通过编译的
      

  2.   

    只要注释掉getArea和f这两个方法就可以通过编译的
      

  3.   

    if(   (p1-   o1)*(p1-o1)+(p2-o2)*(p2-o2)==(i1-n1)*(i1-n1)+(i2-n2)*(i2-n2)&&(p1-n1)*(p1-n1)+(p2-n2)*(p2-n2)==(o1-i1)*(o1-i1)+(o1-i1)*(o1-i1)) 
    area   =   ((p1-   o1)*(p1-o1)+(p2-o2)+(p2-o2))*((p1-n1)*(p1-n1)+(p2-n2)*(p2-n2)); 
    少2个运算符号~
    你的class编译就没通过~
    你要是初学者不建议使用该记事本,用个IDE学得快些
      

  4.   

    area =  ((p1-o1)*(p1-o1)+(p2-o2)*(p2-o2))+((p1-n1)*(p1-n1)+(p2-n2)*(p2-n2));   抱歉,写错一个