这个项目的目标是制作食物日记。
这本日记应包含您在白天消费的早餐,午餐,晚餐和小吃。用户应该能够输入他们的食物并将其保存为CSV文件。 这是我到目前为止所拥有的 当我将变量f和t写入excel时,它们位于同一个单元格中,我如何才能将它们放在单独的列中
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
BufferedWriter bw = null;
FileWriter fw = null;
FileOutputStream FileName = new FileOutputStream( "MyFooDiary.csv");
System.out.println("Welcome to your food diary");
System.out.println("What is the name of your Food?");
Scanner x = new Scanner(System.in);
String f = x.nextLine();
System.out.println("Was this breakfast, lunch, dinner, or a snack");
Scanner y = new Scanner(System.in);
String t = y.nextLine();
try {
File file = new File(FileName);
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
// true = append file
fw = new FileWriter(file.getAbsoluteFile(), true);
bw = new BufferedWriter(fw);
bw.write("Date, Food Time, Food Name, Calories, Carbohydrates,
Sugars, Fiber, Protein, Total Fat ");
bw.write(t);
bw.write(f);;
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bw != null)
bw.close();
if (fw != null)
fw.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} }
答案 0 :(得分:0)
您需要在值之间添加逗号,
,以便将它们放在不同的单元格中。
尝试使用此方法检查t的结尾和f的开头是否没有","。如果两者都没有逗号,则在t:
的末尾添加一个逗号 bw.write(t);
//check if the end of t and the start of f do not have a ",". If neither has a comma then add one to the end of t
if (t.endsWith(",") == false && f.startsWith(",") == false)
{
t = t + ",";
}
bw.write(f);
我建议写一个特殊的方法在两个变量上做这样的检查,这样你就可以从任何地方调用它,我也注意到你错过了一个","在这一行的最后Sugars, Fiber, Protein, Total Fat ");
。应该有Fat, ");
(注意逗号)。