尝试在 Java 中添加数字时擦除我在 txt 文件中的数据
Erasing my data on the txt file while trying to add numbers in Java
除了应该将数字添加到现有 txt 文件 (Fred56.txt
) 的代码外,以下代码工作正常。他发布了:
PrintWriter outputfile = new PrintWriter(file);
outputfile.println(totalDeposit);
outputfile.close();
我试图搜索它,但在询问用户(扫描仪)文件名时找不到正确答案。我想将 totalDeposit
添加到文件中的现有数据而不删除它们。
import java.io.*;
import java.util.Scanner;
public class TestSavingsAccount {
public static void main(String[] args) throws IOException {
double totalDeposit = 0;
double totalInterest = 0 ;
double totalWithdraw = 0;
String filename ;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the annual interest rate");
double userAnnualinterest = keyboard.nextDouble();
System.out.println(" Enter the starting balance");
double userStartingbalance = keyboard.nextDouble();
System.out.println(" Enter the number of months");
int userNumberMonths = keyboard.nextInt();
SavingsAccount account1 = new SavingsAccount(userStartingbalance);
account1.setAnnualInterest(userAnnualinterest);
for(int currentmonth = 1 ; currentmonth <= userNumberMonths; currentmonth ++ )
{
System.out.println("How much did you deposit during the month ?" + currentmonth);
double depositAmount = keyboard.nextDouble();
account1.deposit(depositAmount);
totalDeposit += depositAmount ;
System.out.println("How much do you want to withdraw ?" + currentmonth);
double userWithdraw = keyboard.nextDouble();
account1.withdraw(userWithdraw);
totalWithdraw += userWithdraw ;
totalInterest += account1.addMonthlyInterest();
keyboard.nextLine() ;
System.out.println(" What is the file name ?");
filename = keyboard.nextLine() ;
File file = new File(filename);
PrintWriter outputfile = new PrintWriter(file);
outputfile.println(totalDeposit);
outputfile.close();
}
System.out.println(" The final balance of the end " + userNumberMonths + "is" +
account1.getBalance() + " total amount of withdraw " + totalWithdraw +
" Total amount of deposit " +totalDeposit + " The total of interest" + totalInterest);
}
}
据我了解,您要求的是一种以追加模式打开文件的解决方案。
有几种方法可以实现这一目标。您可以在代码中使用以下内容。
try{
PrintWriter outputfile = new PrintWriter(new BufferedWriter(new FileWriter (filename, true)));
outputfile.println(totalDeposit);
outputfile.close();
}catch(IOException ex){
// Handle your exception
}
除了应该将数字添加到现有 txt 文件 (Fred56.txt
) 的代码外,以下代码工作正常。他发布了:
PrintWriter outputfile = new PrintWriter(file);
outputfile.println(totalDeposit);
outputfile.close();
我试图搜索它,但在询问用户(扫描仪)文件名时找不到正确答案。我想将 totalDeposit
添加到文件中的现有数据而不删除它们。
import java.io.*;
import java.util.Scanner;
public class TestSavingsAccount {
public static void main(String[] args) throws IOException {
double totalDeposit = 0;
double totalInterest = 0 ;
double totalWithdraw = 0;
String filename ;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the annual interest rate");
double userAnnualinterest = keyboard.nextDouble();
System.out.println(" Enter the starting balance");
double userStartingbalance = keyboard.nextDouble();
System.out.println(" Enter the number of months");
int userNumberMonths = keyboard.nextInt();
SavingsAccount account1 = new SavingsAccount(userStartingbalance);
account1.setAnnualInterest(userAnnualinterest);
for(int currentmonth = 1 ; currentmonth <= userNumberMonths; currentmonth ++ )
{
System.out.println("How much did you deposit during the month ?" + currentmonth);
double depositAmount = keyboard.nextDouble();
account1.deposit(depositAmount);
totalDeposit += depositAmount ;
System.out.println("How much do you want to withdraw ?" + currentmonth);
double userWithdraw = keyboard.nextDouble();
account1.withdraw(userWithdraw);
totalWithdraw += userWithdraw ;
totalInterest += account1.addMonthlyInterest();
keyboard.nextLine() ;
System.out.println(" What is the file name ?");
filename = keyboard.nextLine() ;
File file = new File(filename);
PrintWriter outputfile = new PrintWriter(file);
outputfile.println(totalDeposit);
outputfile.close();
}
System.out.println(" The final balance of the end " + userNumberMonths + "is" +
account1.getBalance() + " total amount of withdraw " + totalWithdraw +
" Total amount of deposit " +totalDeposit + " The total of interest" + totalInterest);
}
}
据我了解,您要求的是一种以追加模式打开文件的解决方案。 有几种方法可以实现这一目标。您可以在代码中使用以下内容。
try{
PrintWriter outputfile = new PrintWriter(new BufferedWriter(new FileWriter (filename, true)));
outputfile.println(totalDeposit);
outputfile.close();
}catch(IOException ex){
// Handle your exception
}