[英]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.