我必须写这个程序真的很难。 该计划必须
从文件中读入
打印并向文件写入包含以下内容的表:
物业税净价
计算:
我不知道如何分离数据并进行单独的计算!! 示例数据文件如下所示......
Hopkins 250000 223000 209000
Smith 305699 299999 297500
Forrest 124999 124999 53250
Fitch 214999 202500 200000
我无法读取数据然后进行计算,然后将新数据写入新文件,请帮忙!
答案 0 :(得分:1)
由于您使用的是Java,因此在继续之前应尝试为应用程序创建Object模型。很难解释整个方法,但也许你可以从创建应用程序的类图开始。
我会尽量给出一些提示,而不是太具体。我想强调一下,以下只是其中一种方法,可能不是最佳方法。
在较高级别,考虑您要执行的操作以及操作将要处理的数据。在您的情况下,例如,您有3个活动 - 从文件读取,执行计算然后输出数据。为这些活动创建单独的工作类。还要考虑将存储数据的类。这些类对于在工作类之间传递数据很有用。
接下来,设计类如何相互通信以完成工作。例如,您可以拥有一个控制器类,通过与其他组件协作来完成工作,从而管理3个活动。它可以调用文件读取器组件从文件中获取数据,然后将数据发送到计算组件进行计算并获取结果,然后将结果传递给编写器组件。
同样,这是一种简单的方法,但可能不是最佳解决方案。随着你的进展,必要时进行审查和重构。
答案 1 :(得分:0)
try {
float netTotal = 0;
String thisLine = null;
FileOutputStream out = new FileOutputStream("out.txt");
BufferedReader br = new BufferedReader(new FileReader("inputFile.txt"));
while ((thisLine = br.readLine()) != null) { // while loop begins here
String[] parts = thisLine.split("[\\t\\n\\r ]+");
int askingPrice = Integer.parseInt(parts[1]);
int salePrice = Integer.parseInt(parts[2]);
int amountOwed = Integer.parseInt(parts[3]);
float commission = salePrice * 0.06;
float tax = salePrice * 0.105;
float netPrice = askingPrice - amountOwed - commission;
netTotal += netPrice;
out.write((parts[0] + "\t").getBytes()); //name
out.write((askingPrice + "\t").getBytes()); //asking price
out.write((amountOwed + "\t").getBytes()); //mortgage amount
out.write((salePrice + "\t").getBytes()); //selling price
out.write((commission + "\t").getBytes()); //realtor commission
out.write((tax + "\t").getBytes()); //sales tax
out.write((netPrice + "\t\n").getBytes()); //net price
}
out.close();
br.close();
System.out.println("Net profit/loss: " + netTotal);
}
catch (Exception e) {
e.printStackTrace();
}