初学java,java 排序功能实现不了,请帮忙看下程序,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:07:29
初学java , 排序功能实现不了,
class Only {
static int x,y;
static float d[];

void set(int x,int y){
this.x=x;
this.y=y;
float d[]=new float[10];
int p[]=new int[10];
for(int i=0;i<p.length;i++)
{
x=p[i]=(int)(Math.random()*10);
y=p[i]=(int)(Math.random()*10);
System.out.println("点("+x+","+y+")");
d[i]=(float)Math.sqrt(x*x+y*y);
System.out.println("到原点的距离为"+d[i]);
System.out.println();
}
}

/*排序*/
void sort(float d[])
{
float temp;
for(int m=0;m<d.length-1;m++)
for(int n=m+1;n<d.length;n++)
{
if(d[m]>d[n]){
/*交换d[i]和d[j]*/
temp=d[m];
d[m]=d[n];
d[n]=temp;
}
System.out.println();
for(int i=0;i<d.length;i++)
{
System.out.println("排序后"+d[i]);
}

}
}

public static void main(String[] arg

刚运行了楼主的程序发现了错误并调试好了..

指出:

float d[]=new float[10];// 这里定义错误应该 注释掉这一行

然后在 第三行 定义并实例化..

static float d[]=new float[10];

还有一个是输出问题

for(int i=0;i<d.length;i++)
{
System.out.println("排序后"+d[i]);
}

应该在for循环的外面....就行了..

祝楼主早日成功!!!!

什么排序

public class Only {
int x, y;
float d[];

void set(int x, int y) {
this.x = x;
this.y = y;
d = new float[10];
int p[] = new int[10];
for (int i = 0; i < p.length; i++) {
x = p[i] = (int) (Math.random() * 10);
y = p[i] = (int) (Math.random() * 10);
System.out.println("点(" + x + "," + y + ")");
d[i] = (float) Math.sqrt(x * x + y * y);
System.out.println("到原点的距离为" + d[i]);
System.out.println();
}
}

/* 排序 */
void sort() {
float temp;