为了统计一个表格里头某列文字的出现频率,本人不得不编写一个返回整型数组类型的函数,但本人是第一次是第一次接触 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 后边就必须变成一个二维数组了。但这里不动的话,返回类型却不论怎么写都是错的!看上去这像是一个死结,希望有人能帮我这个菜鸟把这个结解开,谢谢!
......
int Number[]=new int[一个已经计算好的整型数];
Number[0]=......;//开始给各个元组赋值
return ?//这里我不知道该怎么写了,如果写 Number[] 或者 Number[某某某],系统就出现上面那句话;如果写 Number,那么函数定义行报错,说返回类型不符。
}我不知道问题是不是出在 int Number[] 这一行,因为前头是 int 而非 int[],但又不能改成 int[],否则 new 后边就必须变成一个二维数组了。但这里不动的话,返回类型却不论怎么写都是错的!看上去这像是一个死结,希望有人能帮我这个菜鸟把这个结解开,谢谢!
我在网上确实怎么搜也搜不到这样的写法,看来这似乎是有些问题。但 Java 总该有能够返回数组类型的函数吧,不然的话,如果需要在循环语句里面用数字去调用函数,那可怎么办?
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]);
}
}
没问题啊..
public int[] stat(){
......
//中括号在变量类型后边.不是变量后边,同样变量名第一个字母小写
int[] number=new int[一个已经计算好的整型数];
number[0]=......;//开始给各个元组赋值
//返回你的数组
return number ;//这里我不知道该怎么写了,如果写 Number[] 或者 Number[某某某],系统就出现上面那句话;如果写 Number,那么函数定义行报错,说返回类型不符。
}
要么不用Number~同一用int
这位大哥你这个方法更不行。如果写成 int stat[]() 的话,那划小红线的地方就是这个方括号了。而 int[] stat() 会报错的只有 return 那一行,其它地方全是正确的。
哦,搞了半天我明白为什么我的 return 语句或者函数定义行老报错了,原来我是写了 try catch 语句,忘了在 catch 语句里写 return。把这处地方一改,让 return 返回数组的名字不带任何括号,整个程序编译就通过了。问题总算解决了,谢谢大家!