Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何将多个变量返回到一个方法中?_Java_Object_Methods_Return - Fatal编程技术网

在Java中,如何将多个变量返回到一个方法中?

在Java中,如何将多个变量返回到一个方法中?,java,object,methods,return,Java,Object,Methods,Return,我有一个类的以下代码,用于读取一个文件(.txt,其中包含3行,每行180个数字),它运行良好。问题是,正如您可能看到的,我只是返回数组“data1”,我想在同一个方法中返回3个数组(data1、data2、data3)和3个整数(total1、total2、total3)。你知道我该怎么做吗?。非常感谢你 public int[]OpenFile()引发IOException { FileReader=新的FileReader(路径); BufferedReader textReader=新的

我有一个类的以下代码,用于读取一个文件(.txt,其中包含3行,每行180个数字),它运行良好。问题是,正如您可能看到的,我只是返回数组“data1”,我想在同一个方法中返回3个数组(data1、data2、data3)和3个整数(total1、total2、total3)。你知道我该怎么做吗?。非常感谢你

public int[]OpenFile()引发IOException
{
FileReader=新的FileReader(路径);
BufferedReader textReader=新的BufferedReader(读卡器);
int numberOfTimeZones=3;
int[]data1=新int[180];
int[]data2=新的int[180];
int[]data3=新int[180];
整数total1=0;
整数2=0;
int total3=0;
for(int i=0;i

}您还可以返回一个对象。因此,出于这个目的,为什么不简单地创建一个包含请求字段的类——数组和整数


如果不想使用这种简单的方法,可以使用元组

如果您需要从一个方法返回多个值,您有以下选择:数组、基本体集合、对象、对象集合。
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;
}