java – PrintWriter将文本添加到文件中
发布时间:2020-12-15 04:59:54 所属栏目:Java 来源:网络整理
导读:在我的在线计算机科学课上,我必须编写一个程序来确定太阳系中每个行星的表面引力.除了一个,我几乎已经完成了它的每个方面.我需要使用单独的方法将表面重力写入文件.这是我目前的方法: public static void writeResultsToFile(double g) throws IOException{
在我的在线计算机科学课上,我必须编写一个程序来确定太阳系中每个行星的表面引力.除了一个,我几乎已经完成了它的每个方面.我需要使用单独的方法将表面重力写入文件.这是我目前的方法:
public static void writeResultsToFile(double g) throws IOException{ PrintWriter outFile = new PrintWriter(new File("planetaryData.txt")); outFile.printf("%.2f%n",g); outFile.close(); } 我的问题是,当我将它写入文件时,它将覆盖以前的值.我如何获得它包括所有值.如果有帮助,这是我的全部代码: import java.util.Scanner; import java.io.PrintWriter; import java.io.IOException; import java.io.File; public class gravityV1 { /** * @param args */ public static double calculateSurfaceGravity(double d,double M){ double G = 6.67 * Math.pow(10,-11); double r = d; double g; g = G * M/Math.pow(r/2*1000,2); return g; } public static void printResultsToScreen(String planetName,double diameterKm,double massKg,double g){ System.out.printf("%-15s%-17.0f%-17.2e%.2f%n",planetName,diameterKm,massKg,g); } public static void writeResultsToFile(double g) throws IOException{ PrintWriter outFile = new PrintWriter(new File("planetaryData.txt")); outFile.printf("%.2f%n",g); outFile.close(); } public static void main(String[] args) throws IOException { // Variables String [] planetName = new String[8]; planetName[0] = "Mercury"; planetName[1] = "Venus "; planetName[2] = "Earth "; planetName[3] = "Mars "; planetName[4] = "Jupiter"; planetName[5] = "Saturn "; planetName[6] = "Uranus "; planetName[7] = "Neptune"; double [] diameterKm = new double[8]; diameterKm[0] = 4880; diameterKm[1] = 12103.6; diameterKm[2] = 12756; diameterKm[3] = 6794; diameterKm[4] = 142984; diameterKm[5] = 120536; diameterKm[6] = 51118; diameterKm[7] = 49532; double [] massKg = new double[8]; massKg[0] = 3.30 * Math.pow(10,23); massKg[1] = 4.869 * Math.pow(10,24); massKg[2] = 5.97 * Math.pow(10,24); massKg[3] = 6.4219 * Math.pow(10,23); massKg[4] = 1.900 * Math.pow(10,27); massKg[5] = 5.68 * Math.pow(10,26); massKg[6] = 8.683 * Math.pow(10,25); massKg[7] = 1.0247 * Math.pow(10,26); double [] g = new double[8]; int array = 0; //code System.out.printf("%s%20s%15s%15s%n","Planet","Diameter (km)","Mass (kg)","g (m/s^2)"); for(double d : diameterKm){ g[array] = calculateSurfaceGravity(d,massKg[array]); printResultsToScreen(planetName[array],d,massKg[array],g[array]); writeResultsToFile(g[array]); array++; } } } 解决方法
这样做是为了创建一个在附加模式下使用FileWriter的PrinterWriter:
PrintWriter outFile = new PrintWriter(new FileWriter("planetaryData.txt",true)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – Libgdx:设置另一个屏幕,但仍然是从旧屏幕激活的按
- Java类执行问题:java.lang.ClassNotFoundException
- java – 在单元测试中验证对依赖的调用?
- 透过 ReentrantLock 分析 AQS 的实现原理
- java – MethodHandles.lookup().defineClass retention
- 在javadoc中为每个单元格添加带边框的表格
- JSP JSTL <c:redirect>标签:重定向标签
- java.lang.Object VS java.util.Objects,有什么区别?
- 多线程 – 由于另一个QThread,QApplication线程冻结
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第7节