0

我正在尝试从我保存的文件中读取数据。此代码是用于读取数据“值”的部分。但是编译器说最后一部分'return Value;'有一个错误。它说“无法将值解析为变量”。我应该怎么办?

public static double[] getValue(){
    FileInputStream fis = null;
    ObjectInputStream ois = null;
    List<Double> newList = new ArrayList<Double>();
    try {
        fis = new FileInputStream("user_data.txt");
        ois = new ObjectInputStream(fis);

       double[] Value = (double[]) ois.readObject();

    } catch (Exception ex) {

        try {
            fis.close();
            ois.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return Value;
}
4

2 回答 2

2

在块外声明Value变量。try顺便说一句,value用作名称,而不是Value.

double[] Value;
try {
        fis = new FileInputStream("user_data.txt");
        ois = new ObjectInputStream(fis);

       Value = (double[]) ois.readObject();

    } 
于 2012-06-21T12:50:29.933 回答
2

你的问题是你声明Valueinside try,所以它在外面是不可见的。试试这个:

public static double[] getValue(){
    FileInputStream fis = null;
    ObjectInputStream ois = null;
    List<Double> newList = new ArrayList<Double>();
    double[] Value;

    try {
        fis = new FileInputStream("user_data.txt");
        ois = new ObjectInputStream(fis);

        Value = (double[]) ois.readObject();

    } catch (Exception ex) {

        try {
            fis.close();
            ois.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return Value;
}
于 2012-06-21T12:50:48.643 回答