テキストファイルから、3番目のデータセット(type = double)を連続して取得し、それを合計して合計を取得しようとしています。私の問題は、バッファリングされたファイルリーダーを使用して、特定のデータを行から取得する方法を理解するのに苦労していることです。線を引く方法は知っていますが、データの解析は謎です。より多くのコンテキストを提供するのに役立つ可能性がある場合に備えて、コードを以下に配置しました。ありがとう!
編集:我慢してください。私は文字通り、Javaを学んでから最初の1か月以内です。バッファリーダーを使用する必要があります。これは学校のプロジェクトです。「スプリット」を使用することになっていますか?もしそうなら、「次の分割」などを配列に格納できますか?
Listings.txt
Int string(?) double int
PropertyID Type Cost AgentID --(Not in the file. The file only has the data)
100000 Farm 500000.00 101
100001 Land 700000.00 104
コード
package overview;
import java.io.*;
import java.util.*;
import java.lang.*;
import java.nio.*;
public class Overview {
public static void main(String[] args) throws FileNotFoundException {
// TODO code application logic here
int count = 0;
double totalCost=0.00;
ArrayList<Double> propertyID = new ArrayList();
//Get file name
Scanner console = new Scanner(System.in);
System.out.print ("Please enter file name: ");
String inputFileName = console.next();
File inputFile = new File(inputFileName);
// Get the object of DataInputStream
FileInputStream fstream = new FileInputStream(inputFile);
DataInputStream in = new DataInputStream(fstream);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
try {
while ((line = reader.readLine()) != null)
{
double x = Double.parseDouble(line.split(" ")[]);
propertyID.add(x);;
totalCost = Double.parseDouble(line.split(" ")[8]);
count++;
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally {
System.out.println("Total properties in list: " + count + "\n"+ "The total cost is: " +totalCost);}
}
}