我正在编写一个程序,它从文本文件中获取贷款金额,利率和支付的总金额。它应该将利率更新为总利息,并且相同的总利息也是如此。然后它应该计算每月付款。
我不断得到错误操作符不能应用于java字符串进行计算,包括贷款。我猜这是因为你不能在计算中使用字符串?也许我错了。我很难过。
示例输入:
56750.00 .065 72.00
43675.00 .075 48.00
64950.00 .045 36.00
24799.00 .085 48.00
我的代码
import java.io.*;
import java.util.*;
import java.text.*;
public class DB4
{
static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args) throws FileNotFoundException
{
String loan;
int Count = 0;
double interest = 0;
double Numberofmonths = 0;
double totint;
double totpay;
double monthly;
Scanner inFile= new Scanner(new FileReader("Project4InData.txt"));
PrintWriter outFile = new PrintWriter("Project4.out");
while (inFile.hasNext())
{
loan = inFile.next();
interest = inFile.nextDouble();
Numberofmonths = inFile.nextDouble();
// calcs
totint = interest * loan;
totpay = totint + loan;
monthly = loan / 12;
outFile.print("Loan Amount: " + loan);
outFile.print(" ");
outFile.println("Interest: " + totint);
outFile.print(" ");
outFile.println("Total paid: " + totpay);
outFile.print(" ");
outFile.println("Monthly payment: " + monthly);
}
inFile.close();
outFile.close();
}
}
答案 0 :(得分:2)
loan
是一个字符串,因此interest * loan
没有意义。
要了解为什么将*
应用于字符串没有意义,请考虑"abc" * 2
或"def" * "ghi"
的含义。 (绝对没有,这就是为什么Java不允许你在string
个对象上执行这些操作的原因。)
你可以将+
应用于字符串,但它不会添加,它会连接。
相同的逻辑适用于/
运算符。
将loan
设为double
。