如何将多个变量返回到Java中的方法?

时间:2014-09-28 00:50:30

标签: java object methods return

我有一个用于读取文件的类的代码(.txt包含3行,每行180个数字),它运行完美。问题是,你可能会看到我只是返回数组“data1”,我想将3个数组(data1,data2,data3)和3个整数(total1,total2,total3)返回到同一个方法中。有什么想法,我怎么能这样做?非常感谢你;)!

public int [] OpenFile() throws IOException
{
    FileReader reader = new FileReader(path);
    BufferedReader textReader = new BufferedReader(reader);

    int numberOfTimeZones = 3;
    int[]  data1 = new int[180];
    int[]  data2 = new int[180];
    int[]  data3 = new int[180];
    int total1 = 0;
    int total2 = 0;
    int total3 = 0;

    for (int i = 0; i < numberOfTimeZones; i++){
        if (i == 0)
        {
            String firstTimeZone = textReader.readLine();

            String[] val =  firstTimeZone.split ("\\s+");
            for (int u = 0; u < val.length; u++)
            {
                int stats =  (int)(Math.ceil(Math.abs(Double.parseDouble(val[u]))));
                total1 += stats;
                total1= total1/180;
                data1[u] = stats;
            }

        }
        else
        if (i == 1)
        {
            String secondTimeZone = textReader.readLine();
            String[] val =  secondTimeZone.split ("\\s+");
            for (int u = 0; u < val.length; u++)
            {
                int stats =  (int)(Math.ceil(Math.abs(Double.parseDouble(val[u]))));
                total2 += stats;
                total2= total2/180;
                data2[u] = stats;
            }

        }
        else
        {
            String thirdTimeZone = textReader.readLine();
            String[] val =  thirdTimeZone.split ("\\s+");
            for (int u = 0; u < val.length; u++)
            {
                int stats =  (int)(Math.ceil(Math.abs(Double.parseDouble(val[u]))));
                total3 += stats;
                total3= total3/180;
                data3[u] = stats;
            }
        }
    }
    textReader.close();
    return data1;
}

}

1 个答案:

答案 0 :(得分:2)

您还可以返回一个Object。因此,为此您不必简单地创建一个具有您请求的字段的类 - 数组和整数。

如果您不想使用这种简单的方法,可以使用元组。 Here's an excellent example