私のコードは大部分は正しく動作し、正しいファイル名の "SUBMIT"フォルダに3つの.csvファイルを印刷することができますが、それぞれの末尾にカンマを取り除く方法はわかりませんまた、カンマの前後に空白を入れずに、同じカンマ区切りの方法でテキストファイルの2行目にheaderValuesを書き込む方法もわかりません。私は、2D配列からネストされたforループを使って.csvファイルに書き込む必要があることに注意することが重要です。ヘッダの1と値のための1 -2D配列をJavaのテキストファイルに正しく印刷するにはどうすればよいですか?
import java.io.*;
public class HW01 {
public static void main(String args[]) throws IOException {
// Create a 1D array to hold header labels
String headerLabels[] =
{
"COURSE ID", "TEAM ID", "STUDENT FIRST NAME",
"STUDENT LAST NAME", "STUDENT ID", "ASSIGNMENT ID",
"DATE SUBMITTED", "TIME SUBMITTED", "SUBMITTED BY"
};
// Create a 2D array to hold header values
String headerValues[][] =
{
{"CMPS280-01", "Winners03", "Jacob", "Harley", "w0389342", "H03", "8/23/2017", "7:24PM", "Jacob Harley"},
{"CMPS280-02", "Invokers01", "James", "Brown", "w0479045", "H01", "8/25/2017", "1:14PM", "James Brown"},
{"SE101-02", "CodeIt00", "Keith", "Dillinger", "w0782345", "S04", "8/25/2017", "1:23AM", "Keith Dillinger"}
};
// Create an int to hold number of students
int students = headerValues.length;
// Loop to name .csv files
for (int i = 0; i < students; i++){
// Create new .csv file and store in SUBMIT folder
String path = "SUBMIT/"+headerValues[i][0]+"_"+headerValues[i][5]+"_"+headerValues[i][1]+"_"+headerValues[i][4]+".csv";
File file = new File(path);
PrintWriter writer = new PrintWriter(file);
// Print headerLabels and headerValues
// for each student into .csv files using loops
for (int j = 0; j < headerValues[i].length; j++){
writer.print(headerLabels[j] + ",");
writer.print(headerValues[i][j] + ",");
}
writer.close();
}
}
}
これまでに何を試みましたか?シンプルな 'if文 'がそのトリックをしないだろうか? – clabe45
いいえ、最初のif文を作成した後、次のループを使用するために、テキストファイルの1行だけを下に移動するにはどうすればいいですか? – simplest