在一个类中设置一个变量值,该值由另一个

时间:2016-04-08 16:38:28

标签: java multidimensional-array return

所以我有2节课。第一个从文件中读取信息并将其存储在2D数组中然后返回它。像这样:

public class Skaitymas{
File f = new File("Events.txt");
private int lines = 0;
private Scanner sc;
private String[][] myArray;

public void skaityti() throws IOException{ 
    BufferedReader reader = new BufferedReader(new FileReader("Events.txt"));
    try{
        while (reader.readLine() != null){
            lines++;
        }
        reader.close();
    }catch (FileNotFoundException e) {
        e.printStackTrace();    
    }
} 

public String[][] iMasyva() throws IOException{ 
    sc = new Scanner(new File("Events.txt"));
    String linija = null;
    int counter = 0;
    myArray = new String[lines][5];
    for(int i = 0; i<myArray.length; i++){
        linija = sc.nextLine().toString();
        String[] dabartinesLinijosStringai = linija.split(" ");
        for(int j = 0; j<myArray[0].length; j++){
             myArray[counter][j] = dabartinesLinijosStringai[j];
        }
        counter++;
    }
    return myArray;   //The 2D array i wish to return
}
}

在我的另一个类中,我希望初始化一个新的2D数组,它从第一个类中获取返回的2D数组。我创建了第一个类的对象,然后初始化该方法,该方法返回值。像这样:

Skaitymas read = new Skaitymas();

String[][] mas = read.iMasyva();

但是我得到了这个错误:默认构造函数无法处理隐式超级构造函数抛出的异常类型IOException。必须定义显式构造函数

我甚至不知道我是否应该这样做,所以任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

为什么不抓住IOException而不是把它扔进课堂#34; Skaitymas&#34;构造

try{
        while (reader.readLine() != null){
            lines++;
        }
        reader.close();
    }catch (FileNotFoundException e) {
        e.printStackTrace();    
    }catch(IOException e)
{
e.printStackTrace();
}