Java I';我不确定为什么换行符不是';t影响什么';印刷品

Java I';我不确定为什么换行符不是';t影响什么';印刷品,java,eclipse,newline,filewriter,Java,Eclipse,Newline,Filewriter,我正在写一个简单的程序来记录我的油耗。我试图弄明白为什么换行符没有输出 添加到该文件,但其他字段为 PrintWriter fuelLog = new PrintWriter(new FileWriter("FuelLog.txt", true)); fuelLog.println("New Trip"); miles = JOptionPane.showInputDialog("Please enter trip miles..."); dollars = JOptionPane.showIn

我正在写一个简单的程序来记录我的油耗。我试图弄明白为什么换行符没有输出 添加到该文件,但其他字段为

PrintWriter fuelLog = new PrintWriter(new FileWriter("FuelLog.txt", true));
fuelLog.println("New Trip");
miles = JOptionPane.showInputDialog("Please enter trip miles...");
dollars = JOptionPane.showInputDialog("Please enter cost to refuel...");
gallons = JOptionPane.showInputDialog("Enter the gallons used on the trip...");

fuelLog.println("Miles on trip: " + miles + "\n" + 
                "Cost: $" + dollars + "\n" + 
                "Gallons used: " + gallons);
fuelLog.close();
“我的文件”的输出结果如下所示,例如:

行驶里程:270.67成本:33.76加仑使用量:11.567

我要查找的文件的所需输出为:

行程里程:270.67
费用:33.76美元
所用加仑数:11.567

换行符取决于平台,在您的平台上很可能是
\r\n
。通过将
printf
%n
特殊字符一起使用,可以避免该问题,该字符将被转换为平台中的正确换行符。作为一种副作用,它还可以帮助清理代码并避免所有这些字符串浓缩:

fuelLog.printf("Miles on trip: %s%n" + 
               "Cost: $%s%n" + 
               "Gallons used: %s%n", miles, dollars, gallons);

可以你的方法解决了我的问题。但是,我对%s字符有一个问题。该字符是否接受我拥有的字符串并插入它们?我不清楚那个具体的角色。@RyanEdwards是的,确实如此-详情请参阅