[英]Need help with Reading File Input than Calculating!
我要写这个程序真的很难。 该程序必须
从文件读入
打印输出并将包含以下内容的表写入文件:
物业税净价
计算:
我不知道如何分离数据并进行单独的计算! 示例数据文件如下所示:
Hopkins 250000 223000 209000
Smith 305699 299999 297500
Forrest 124999 124999 53250
Fitch 214999 202500 200000
我无法读取数据,然后进行计算,然后将新数据写入新文件,请帮忙!
由于您使用的是Java,因此在继续之前,应尝试为应用程序创建对象模型。 难以解释整个方法,但是也许您可以从为应用程序创建类图开始。
我将尝试给出一些提示,但不要太具体。 我想强调的是,以下操作只是其中一种方法,可能不是最佳方法。
在较高级别上,请考虑要执行的操作以及这些操作将要处理的数据。 就您而言,例如,您有3个活动-从文件读取,执行计算然后输出数据。 为这些活动创建单独的工作者类。 还要考虑将存储数据的类。 这些类对于在工作者类之间传递数据很有用。
接下来,设计类之间如何相互通信以完成工作。 例如,您可以具有一个控制器类,该控制器类通过与其他组件协作完成任务来管理这3个活动。 它可以调用文件读取器组件从文件中获取数据,然后将数据发送到计算组件进行计算并返回结果,然后将结果传递给写入器组件。
同样,这是一种简单的方法,但可能不是最佳解决方案。 在进行时,请根据需要进行审查和重构。
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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.