我不知道我的代码有什么问题,它没有将列表显示为 10 行,每行 10 个值?
编写第二个程序,从“values.txt”中读取这 100 个数字并将它们放入 ArrayList 中。
这是代码:
class Program2 {
public static void main(String args[]) throws Exception {
ArrayList<Integer> list = new ArrayList<Integer>();
int i = 0;
try {
Scanner read = new Scanner(new File("values.txt"));
do {
String line = read.nextLine();
list.add(Integer.parseInt(line));
} while (read.hasNext());
} catch (FileNotFoundException fnf) {
System.out.println("file was not found");
}
bubbleSort(list);
for (int s : list) {
i++;
if (i == 10) {
System.out.println();
i = 0;
}
System.out.print(s + " ");
}
}
//sorting the values
public static void bubbleSort(ArrayList<Integer> list) {
boolean swapped = false;
do {
swapped = false;
for (int i = 0; i < list.size() - 1; i++) {
if (list.get(i) > list.get(i + 1)) {
int swap = list.get(i);
list.set(i, list.get(i + 1));
list.set(i + 1, swap);
swapped = true;
}
}
} while (swapped);
}
}
最佳答案
迭代时出现错误,每行打印 9 个值,而不是 10 个。 应该是:
for (int s : list) {
if (i == 10) {
System.out.println();
i = 0;
}
i++;
System.out.print(s + " ");
}
关于java - 需要 java/file IO 方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32506706/