尝试返回2d数组时出错

时间:2015-03-09 15:15:56

标签: java return character-arrays

尝试从Java中的类返回2D数组。我们正在尝试用文本文件中的字符填充2D数组,使用两个for循环。填充数组很简单,但将其返回到主类是我们不断收到错误的地方。在返回行上出错。这是有问题的课程。

import java.io.*;
import java.lang.*;
import java.util.*;

public class ReadMe {

    private Scanner lev;
    char[][] grid1 = new char[576][1024];

    public void openfile(){
        try{
            lev = new Scanner(new File("D:\\Jeeeva\\Workspace\\GIANT PROJECT NAME GOES HERE\\src\\level.txt")); //opens file
        }
        catch(Exception e){
            System.out.println("Error: Level file not found");
        }
    }

    public char[][] readfile(){ //may need some parameters

        while (lev.hasNext()){

        for (int s=0; s<576; s++){
            String line = new String(lev.next());

            for (int d=0; d<1024; d++){

                grid1[s][d] = line.charAt(d);

            }
        }


        }

        return grid1[][];
    }



    public void closefile(){ //closes file after its done reading
        lev.close();
    }

}

这是主要的课程

public class main extends JFrame{

        ReadMe levelx = new ReadMe();
        levelx.openfile();

        char[][] grid = levelx.readfile();

        levelx.closefile();



    }

很绿,很抱歉,如果这是一个菜鸟问题。

3 个答案:

答案 0 :(得分:1)

更改您的

return grid1[][]; //invalid syntax

return grid1;

答案 1 :(得分:1)

这是无效的语法:

return grid1[][];

return grid1;

答案 2 :(得分:0)

实例化数组后,只需在传递数据并返回数据时按名称引用它。所以,你需要的只是:

return grid1;