为了统计一个表格里头某列文字的出现频率,本人不得不编写一个返回整型数组类型的函数,但本人是第一次是第一次接触 Java 的数组,不论怎么写,Eclipse 在实时编译的时候总是给我划小红线(也就是编译不通过),而且经常出现的一句话是“cannot convert from int to int[]”!我从头到尾定义的全都是整型数组 int[] 类型,返回语句写的也是 int[] 类型,但为什么在返回语句上 Java 还是把它识别成 int 而非 int[]?我把源代码写出来,大伙儿给我指正一下,看应该改其中哪环才能让编译通过:public int[] Stat(){
    ......
    int Number[]=new int[一个已经计算好的整型数];
    Number[0]=......;//开始给各个元组赋值
    return ?//这里我不知道该怎么写了,如果写 Number[] 或者 Number[某某某],系统就出现上面那句话;如果写 Number,那么函数定义行报错,说返回类型不符。
}我不知道问题是不是出在 int Number[] 这一行,因为前头是 int 而非 int[],但又不能改成 int[],否则 new 后边就必须变成一个二维数组了。但这里不动的话,返回类型却不论怎么写都是错的!看上去这像是一个死结,希望有人能帮我这个菜鸟把这个结解开,谢谢!

解决方案 »

  1.   

    方法Stat()前可以定义为int[]吗?这个定义似乎不对哦!
      

  2.   


    我在网上确实怎么搜也搜不到这样的写法,看来这似乎是有些问题。但 Java 总该有能够返回数组类型的函数吧,不然的话,如果需要在循环语句里面用数字去调用函数,那可怎么办?
      

  3.   


    public class Test {
    public int[] arrayTest(){
    int[] test={1,2};
    return test;
    }

    public static void main(String[] a){
    Test test=new Test();
    int[] testarray=test.arrayTest();
    System.out.println(testarray[0]+""+testarray[1]);
    }
    }
    没问题啊..
      

  4.   

    //java规范,方面命名第一个字母小写~~
    public int[] stat(){
        ......
        //中括号在变量类型后边.不是变量后边,同样变量名第一个字母小写
        int[] number=new int[一个已经计算好的整型数];
        number[0]=......;//开始给各个元组赋值
        //返回你的数组
        return number ;//这里我不知道该怎么写了,如果写 Number[] 或者 Number[某某某],系统就出现上面那句话;如果写 Number,那么函数定义行报错,说返回类型不符。
    }
      

  5.   

    //这里我不知道该怎么写了,如果写 Number[] 或者 Number[某某某],系统就出现上面那句话;如果写 Number,那么函数定义行报错,说返回类型不符。 如果写 return number[0] 它返回的是数组中的一个值.那就是int了..和你定义的返回类型不相同.当然就不行了.楼主不是不熟悉java数组..只要是数组都不熟悉吧?
      

  6.   

    Number怎么转int?要不你循环设在要返回的int数组里~
    要么不用Number~同一用int
      

  7.   


    这位大哥你这个方法更不行。如果写成 int stat[]() 的话,那划小红线的地方就是这个方括号了。而 int[] stat() 会报错的只有 return 那一行,其它地方全是正确的。
      

  8.   


    哦,搞了半天我明白为什么我的 return 语句或者函数定义行老报错了,原来我是写了 try catch 语句,忘了在 catch 语句里写 return。把这处地方一改,让 return 返回数组的名字不带任何括号,整个程序编译就通过了。问题总算解决了,谢谢大家!