Java - 返回一个整数数组

时间:2016-03-23 12:42:20

标签: java arrays string int return

在这个函数中,我希望在文件中获取文本,然后将其从字符串转换为十进制值,通过将此文本添加到数组中应用一些循环并将结果放入整数数组。返回此整数数组时,它给出了一个错误“找不到符号变量integerArray”

require __DIR__.'/laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel/bootstrap/app.php';

我该如何解决?

更新: 我在 int[] inputfile () throws Exception{ BufferedReader br = null; String sCurrentLine; String message; br = new BufferedReader(new FileReader("\input.txt")); while ((sCurrentLine = br.readLine()) != null) { message=sCurrentLine.toString(); char[] messageArray=message.toCharArray(); int[] integerArray = new int[messageArray.length]; for(int i=0; i<messageArray.length; i++) integerArray[i] = (int)messageArray[i]; } return integerArray; } 循环之外声明了变量integerArray,但它总是返回while值,有没有办法将null作为integerArray值返回?因为int返回该数组的String表示

Arrays.toString(integerArray)

3 个答案:

答案 0 :(得分:4)

integerArray是while循环中的局部变量,它在外部无法访问。在循环外声明它

int[] integerArray =null ;
while ((sCurrentLine = br.readLine()) != null) {
    // other code
    integerArray   = new int[messageArray.length];
        // other code
}

答案 1 :(得分:4)

您的struct CStyleGenerator<T> : GeneratorType, SequenceType { let getNext: T -> T? var current: T! init(first: T, getNext: T -> T?) { self.getNext = getNext self.current = first } mutating func next() -> T? { defer { if current != nil { current = getNext(current) } } return current } } for parentView in CStyleGenerator(first: view, getNext: { $0.parent }) { // Do stuff with parentView } 位于integerArray循环内。在循环外声明它并在其中更改其值,然后它将起作用。

答案 2 :(得分:3)

必须在循环之前声明

int[] integerArray,以便您能够在循环之后返回它。

int[] inputfile () throws Exception{ 
   int[] integerArray = null;
   BufferedReader br = null;
   String sCurrentLine;
   String message;
   br = new BufferedReader(new FileReader("\input.txt"));
   while ((sCurrentLine = br.readLine()) != null) {
       message=sCurrentLine.toString();
       char[] messageArray=message.toCharArray();
       integerArray = new int[messageArray.length];
       for(int i=0; i<messageArray.length; i++)
           integerArray[i] = (int)messageArray[i];
   }
   return integerArray;

}