java排序
public static double distance(Point p){
return Math.sqrt(p.getX()*p.getX()+p.getY()*p.getY()) ;
}
public static void disp(){
Random rnd=new Random();
Point p=new Point();
Point s[]=new Point[10];
for(int i=0;i<s.length;i++){
p.setX(rnd.nextInt(10));
int x=p.getX();
p.setY(rnd.nextInt(10));
int y=p.getY();
s[i]=new Point(x,y);
}
for(int i=0;i<s.length;i++){
System.out.println(s[i]);
}
double t;
double min=distance(s[0]);
for(int i=1;i<s.length;i++){
if(distance(s[i])<min){
t=distance(s[i]);
distance(s[i])=min;// 在这里就会提示左边必须是一个变量
min=t;
}
}
你的distance是个函数,它是不能被赋值的(这个是基础的语法规则),正确的做法是,你将所有distance计算好后放在另一个数组中,才能给它赋值的