【问题标题】:Error when trying to return a 2d array [closed]尝试返回二维数组时出错[关闭]
【发布时间】:2015-03-09 15:15:55
【问题描述】:

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

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();



    }

非常绿色,对不起,如果这是一个菜鸟问题。

【问题讨论】:

  • return grid1[][]; 必须是 return grid1;。投票结束是一个错字。

标签: java return character-arrays


【解决方案1】:

这是无效的语法:

return grid1[][];

试试

return grid1;

【讨论】:

    【解决方案2】:

    改变你的

    return grid1[][]; //invalid syntax
    

    return grid1;
    

    【讨论】:

      【解决方案3】:

      实例化一个数组后,只需要在传递和返回它时通过它的名称来引用它。所以,你只需要这样:

      return grid1;
      

      【讨论】:

        猜你喜欢
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-12
        相关资源
        最近更新 更多