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();
}
}
{
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();
}
}
你可以在声明数组时不分配数组大小,直接赋值!
如:int a[]={10,20,30,40};
但是如果你声明了数组大小,那么就不能再这样赋值,而是应该逐个给数组单元赋值。
如:int a[]=new int[5];
a[0]=10;
a[1]=20;
a[2]=30;
a[3]=40;
但是可以这样来赋值:
a.a[0]=20,a.a[1]=10.......
因为在JAVA中数组是分配在堆上的,即使你没为它赋值,其实系统已经为他们初始化了,自然不能用{20,10,15,68,85}这种方式了