你的
Array1 a=new Array1(ab); 
后多了中文全角空格非法字符。class Array1
 
{
int a[];
Array1(int table[])//以一个整型数组构造一个对象
  { 
int size=table.length;
a=new int[size];
  for (int i=0;i< size;i++)
{
  a[i]=table[i];
  }
  }
 
void output()//输出
  {
  int size=a.length;
  for (int i=0;i< size;i++)
  {
  System.out.print("  "+a[i]);
  }
  System.out.println();
   } 
  public static void main(String args[])
  {
  int ab[]={1,2,6,8,-1,-8,45};
Array1 a=new Array1(ab);
a.output();
}
}

解决方案 »

  1.   

    Array1(int table[])//以一个整型数组构造一个对象

    a=table;
    }
      

  2.   

    kypfos(今天,我革谁的命?) 说的很对
    httruly(核桃) 说的使程序更简单了
      

  3.   

    程序本身没有错误...
    和 kypfos(今天,我革谁的命?) 说的一样.
    你的
    Array1 a=new Array1(ab); 
    后多了中文全角空格非法字符。
    把后面的空格去掉就ok了!
    我测试通过了哟!
      

  4.   

    httruly(核桃)的做法有待商榷如果被当作参数传进来的数组的另一个引用修改了数组中的值,那么a中的值也会随之改变。
      

  5.   

    用得着这么复杂吗,而且效率也低.直接这样不就行了.
    Array1(int table[])//以一个整型数组构造一个对象
      { 
    int size=table.length;
    a=new int[size];
                       System.arraycopy(table, 0, a, 0, size);
      }
    这样也不会造成引用出错.
      

  6.   

    可以用数组的copy呀,不是更加简单了吗?
      

  7.   

    哎,原来这么回事,自己太粗心了,我是个新手,学JAVA才两天,我以前用VB,C/C++基础还可以,所以想学JAVA,谢谢上面的各位大侠兄弟,祝大家新年愉快!