繁体   English   中英

在Java /文件IO中需要帮助

[英]need help in java/ file IO

我不知道我的代码有什么问题,它没有以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 + " ");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM