class mp
{
int[] a=new int[5];//在类里定义一个数组.这样的语句表达正确吗?
int i,j,index;
int temp;

void aa()
  {
for(i=0;i<a.length-1;i++)
{
 index=i;
for(j=i+1;j<a.length;j++)

 if(a[index]>a[j])
       index=j;
     temp=a[i];
     a[i]=a[index];
     a[index]=temp;
 
 }
 for(i=0;i<a.length;i++)
  System.out.print(a[i]+" ");
   } 

}
public class homework2
{
public static void main(String args[])
{
mp a;
a=new mp();

a.a={20,10,15,68,85};//为什么在mian里给类里的数组赋值时.表达错误.请指点
a.aa();
}
}

解决方案 »

  1.   

    java的数组赋值和C不一样!
    你可以在声明数组时不分配数组大小,直接赋值!
    如:int a[]={10,20,30,40};
    但是如果你声明了数组大小,那么就不能再这样赋值,而是应该逐个给数组单元赋值。
    如:int a[]=new int[5];
    a[0]=10;
    a[1]=20;
    a[2]=30;
    a[3]=40;
      

  2.   

    a.a={20,10,15,68,85};//这种赋值方式不对
    但是可以这样来赋值:
    a.a[0]=20,a.a[1]=10.......
    因为在JAVA中数组是分配在堆上的,即使你没为它赋值,其实系统已经为他们初始化了,自然不能用{20,10,15,68,85}这种方式了