格式化 .CSV 输出的问题

我目前正在为我的一个班级编写作业。我正在尝试将我的输出文件打印到 csv 文件。问题是,在我结束第二个打印语句后,在 while 循环中启动打印语句后,我的输出没有对齐。


例如,这是我的代码:


oFile = new PrintStream(new File("output.csv"));

        oFile.println("First Name" + "," + "Last Name" + "," + "Lecture Section"+","+"Lab Section"+","+"Lab 1"+","+"Lab 2"+","+"Lab 3"+","+"Lab 4"+","+"Lab 5"+","+"Lab 6"+","+"Lab 7"+","+"Lab 8"+","+"Lab 9"+","+"Lab 10");


        loadLectureArray();

        loadLabArray();

        sortClassSections();


        for (int i = 0; i < stud.size(); i++) {

            oFile.println(stud.get(i).getStudFirstName() + ","+stud.get(i).getStudLastName()+","+stud.get(i).getStudLectureNum()+","+stud.get(i).getStudLabNum()+",");


            while (numLab < 10 && i < stud.size()) {

                oFile.println(labStud.get(i).grades.getStudLabGrade()[numLab]);

                numLab++;

            }

            numLab = 0;

        }

在我执行 while 循环后,我的新数据打印在我的标题和其他数据之间。有些代码并不完美,但目前我只是在寻求有关重新格式化输出以与打印语句保持一致的建议。


这是我第一次将文件导出到 csv,所以如果我做错了什么或需要更改,请告诉我!我希望你能理解我的要求。提前致谢!


慕斯王
浏览 134回答 1
1回答

元芳怎么了

嗯, println 总是打印一个换行符,所以你在每个年级后都会得到一个换行符。你应该能够得到你想要使用的东西,oFile.print(...)而不是oFile.println(...)在 for 循环中,而且只有一个oFile.println()在它的最后。我还注意到,i < stud.size()while 循环头部的for 测试是多余的,因为在此测试和 for 循环头部的相同测试之间,不应更改 i 或stud.size()。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java