Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays - Fatal编程技术网

Java 数组和重复输出的问题

Java 数组和重复输出的问题,java,arrays,Java,Arrays,我在读取文件并将其放入数组时遇到了一个问题。 然后将数组减去等于0 以下是我到目前为止得到的信息: Scanner infile2 = new Scanner(new File(fname)); int [] nums = new int [n]; for (int i = 0; i<n; i++) { nums[i] = infile2.nextInt(); }

我在读取文件并将其放入数组时遇到了一个问题。 然后将数组减去等于0

以下是我到目前为止得到的信息:

        Scanner infile2 = new Scanner(new File(fname));
        int [] nums = new int [n];
            for (int i = 0; i<n; i++)
            {
            nums[i] = infile2.nextInt();
            }
                for (int j = 0; j<n-1;j++){
                    for (int k = j+1; k<n;k++){
                        if (nums[j]+nums[k]==0){
                            int val = nums[j]+nums[k];

                        }
                    }
                }
                    }


}
Scanner infile2=新扫描仪(新文件(fname));
int[]nums=新的int[n];
对于(inti=0;i试着这样做

Scanner infile2 = new Scanner(new File(fname));
int [] nums = new int [n];
for (int i = 0; i<n; i++){
    nums[i] = infile2.nextInt();
}

for (int j = 0; j<n;j++){
    for (int k = j+1; k<n;k++){
        if (nums[j]+nums[k]==0){
            int val = nums[j]+nums[k];
            System.out.println("num["+j+"]"+ " + " +"num["+k+"]"+" = " + nums[j] + " + " + nums[k] + " = " + val);
         }
    }
}
试着这样做

Scanner infile2 = new Scanner(new File(fname));
int [] nums = new int [n];
for (int i = 0; i<n; i++){
    nums[i] = infile2.nextInt();
}

for (int j = 0; j<n;j++){
    for (int k = j+1; k<n;k++){
        if (nums[j]+nums[k]==0){
            int val = nums[j]+nums[k];
            System.out.println("num["+j+"]"+ " + " +"num["+k+"]"+" = " + nums[j] + " + " + nums[k] + " = " + val);
         }
    }
}

我正要这么说。这太不必要了,太复杂了;可能还值得在文本文件中添加一个整数来指定列表的大小,以避免读取两次。否则,我只会使用arraylist。我去掉了嵌套循环,但现在输出变为
num[6]+num[10]=0+0=0 num[6]+num[11]=0+0=0 num[10]+num[11]=0+0=0
问题是我不知道如何使用arraylist,因为我们只学过arraylistmuch@user3395013注意,我的循环和你的循环有一些小的区别,循环条件部分,其中jnum[6]+num[10]=0+0=0 num[6]+num[11]=0+0=0 num[10]+num[11]=0+0=0
问题是我不知道如何使用arraylist,因为我们只学过arraylistmuch@user3395013注意,我的循环和你的循环有一些小的区别,循环条件部分,其中jnum[1] + num[4] = -40 + 40 = 0 num[1] + num[7] = -40 + 40 = 0 num[3] + num[6] = -10 + 10 = 0