在我开始讨论这个问题之前,让我先描述代码应该解决的问题。嵌套for循环中的字符串变量未得到修改
的代码应该在输入采取从文件中的语法如下:
1,2,3,4;5
的代码应该采取的整数,它是分号后,并将其分配给一个变量,其中它不。然后代码应该采用分号前的值并查找并返回分号后加起来的所有两对整数。
实施例:如果输入是
1,2,3,4;5
则输出应该是
1,4;3,2
我是,我的String result
没有被内嵌套for
循环编辑的问题码。我没有得到编译时或运行时错误。它只是不编辑String result
,我不明白为什么。你们可以看看吗?
import java.util.*;
import java.io.*;
public class NumberPairs2 {
public static void main (String[] args) throws IOException {
File file = new File("C:/Users/James/Desktop/txt.txt"); // Takes in a file as input
BufferedReader buffer = new BufferedReader(new FileReader(file));
String line;
while ((line = buffer.readLine()) != null) {
String result = ""; // creates an empty string
line = line.trim(); // set the file contents equal to null
if (line.length() != 0){
int sumTest = Integer.parseInt(line.substring(line.indexOf(";") + 1));
String[] intArray = line.split(";");
String[] intArray2 = intArray[0].split(",");
for (int i = 0; i < intArray2.length - 1; i++){
for(int j = i + 1; i < intArray2.length; i++){
if (intArray2[i] != "," && intArray2[j] != "," && Integer.parseInt(intArray2[i]) + Integer.parseInt(intArray2[j]) == sumTest){
result += intArray[i] + ", " + intArray[j] + ";";
System.out.println(result);
}
}
}
//int compare =()
}
else {
result = null;
System.out.println(result);
}
}
}
}
我编辑了自己的问题。我试图将大段落分成更小的块,并使用正确的代码格式;我删除了很多“so”,并修复了代码缩进。 –