0

我必须编写这个程序真的很难。该程序必须

从文件中读入

  1. 姓名
  2. 询问价格
  3. 销售价格
  4. 仍欠抵押贷款的金额

打印并写入一个包含以下内容的表到文件中:

  • 姓名
  • 询问价格
  • 抵押金额
  • 售价
  • 房地产经纪人委员会
  • 物业税净价

    计算:

  • 经纪人佣金 = 售价 * 6%
  • 房产税 = 售价 * 10.5%
  • 净价 = 要价 - 抵押金额 - 经纪人佣金
  • 总盈利/亏损 = 累计净价

我不知道如何分离数据并进行单独计算!示例数据文件如下所示...

Hopkins 250000      223000      209000
Smith   305699      299999      297500
Forrest 124999      124999      53250
Fitch   214999      202500      200000

我无法读取数据然后进行计算,然后将新数据写入新文件,请帮助!

4

2 回答 2

1

由于您使用的是 Java,因此您应该在继续之前尝试为您的应用程序创建一个对象模型。很难解释整个方法,但也许您可以从为应用程序创建类图开始。

我会尽量给出一些提示,但不会太具体。我想强调的是,以下只是其中一种方法,可能不是最好的方法。

在高层次上,考虑您要执行的操作以及这些操作将处理的数据。在您的情况下,例如,您有 3 个活动 - 从文件中读取,执行计算,然后输出数据。为这些活动创建单独的工人类。还要考虑将存储数据的类。这些类对于在工作类之间传递数据很有用。

接下来,设计类将如何相互通信以完成工作。例如,您可以拥有一个控制器类,通过与其他组件协作来管理这 3 个活动以完成工作。它可以调用文件读取器组件从文件中获取数据,然后将数据发送到计算组件进行计算并取回结果,然后将结果传递给写入器组件。

同样,这是一种简单的方法,但可能不是最佳解决方案。随着您的进行,根据需要进行审查和重构。

于 2011-03-30T04:44:49.247 回答
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();
}
于 2011-03-30T04:44:00.213 回答