Java 正确打印到文件,但随后挂起
我将我的程序设置为打印到一个文件,该文件工作正常。唯一的问题是,由于我做了这个更改,在将数据输出到文件后,程序并没有像应该的那样继续Java 正确打印到文件,但随后挂起,java,loops,printing,output,switching,Java,Loops,Printing,Output,Switching,我将我的程序设置为打印到一个文件,该文件工作正常。唯一的问题是,由于我做了这个更改,在将数据输出到文件后,程序并没有像应该的那样继续 Loan.printAmortTable(name, custID, loanID, cBalance, term, cPayment); System.out.println(); System.out.print("Would you like to print this schedule? y/n: "); String l = input.next();
Loan.printAmortTable(name, custID, loanID, cBalance, term, cPayment);
System.out.println();
System.out.print("Would you like to print this schedule? y/n: ");
String l = input.next();
switch(l)
{
case "y":
try
{
Loan.printSchedule(name, custID, loanID, cBalance, term, cPayment);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
System.out.println("Printed to output.txt");
input.next();
break;
case "n":
break;
}
贷款时间表
public static void printSchedule(String name, int custID, int loanID, double loanAmount, int term, double payment) throws FileNotFoundException
{
PrintStream out = new PrintStream(new FileOutputStream("output.txt"));
System.setOut(out);
out.println("Name " + name);
out.println("ID # " + custID);
out.println("Loan # " + loanID);
out.println("Amount Borrowed " + loanAmount);
out.println("Interest Rate 10.99%");
out.println("Term of the loan " + term);
out.println();
out.println("Payment Payment Interest Principle Outstanding");
out.println("Number Amount Portion Portion Balance ");
double pay = Loan.amortization(loanAmount, term);
double balance = loanAmount;
int i = 0;
while (i<term*12)
{
out.printf("%3d", i + 1);
out.printf("%14.2f",pay);
double interest = balance * (interestRate);
interest = (double)Math.round(interest*100)/100;
out.printf("%11.2f", interest);
double principal = payment - interest;
principal = (double)Math.round(principal*100)/100;
out.printf("%15.2f", principal);
balance = balance - principal;
balance = (double) Math.round(balance*100)/100;
out.printf("%15.2f%n", balance);
i++;
}
out.close();
}
public static void printSchedule(字符串名称、int custID、int loanID、double loanAmount、int term、double payment)抛出FileNotFoundException
{
PrintStream out=新的PrintStream(新文件outputstream(“output.txt”);
系统放样;
out.println(“名称”+名称);
out.println(“ID#”+custID);
out.println(“贷款”+loanID);
out.println(“借款金额”+贷款金额);
out.println(“利率10.99%”);
out.println(“贷款期限”+期限);
out.println();
out.println(“未偿付款利息原则”);
out.println(“数字金额部分余额”);
双倍支付=贷款摊销(贷款金额,期限);
双倍余额=贷款金额;
int i=0;
而(i您已经切换了System.out
这里:
System.setOut(out);
然后,关闭该流。从该方法返回后,再次尝试打印到System.out
,但失败。请删除System.setOut(out);
行,它应该可以工作。您确定正在运行吗(是的,它正在终止。我有一个完全相同的循环,在一个方法中,它将相同的信息打印到屏幕上,并且工作得非常完美。