score.txt
品名:电视,length:102cm,width:90cm,height:56cm。
品名:轿车,length:4502cm,width:178cm,height:156cm。
品名:冰箱,length:50cm,width:90cm,height:220cm。
品名:空调,length:160cm,width:40cm,height:50cm。
品名:桌子,length:125cm,width:80cm,height:70cm。
要求按行读入货物明细,并在该行的后面加上该货物的体积,然后将所有货物
按体积排序,再依次将每行货物信息写入到一个名为scoreAnalysis.txt的文件中。
以下是我写的代码,没有完成排序的目标,有大佬教教吗。
AnalysisResult.java
import java. io. *;
import java. util. *;
public class AnalysisResult {
public static void main (String args[]) {
File fRead = new File ("score.txt");
File fWrite = new File ("scoreAnalysis.txt");
try { Writer out = new FileWriter(fWrite,true);
BufferedWriter bufferWrite =new BufferedWriter(out);
Reader in = new FileReader(fRead);
BufferedReader bufferRead = new BufferedReader(in);
String str =null;
while ((str = bufferRead.readLine())!=null) {
double volume =Fenxi.getVolume(str);
str = str +"体积"+volume;
System.out.println(str);
bufferWrite.write(str);
bufferWrite.newLine();
}
bufferRead.close();
bufferWrite.close();
}
catch(IOException e) {
System.out.println(e.toString());
}
}
}
Fenxi.java
import java.util.*;
public class Fenxi {
public static double getVolume(String s) {
Scanner scanner =new Scanner(s);
scanner.useDelimiter("[^0123456789.]+");
double volume = 1;
while (scanner.hasNext ()) {
try { double vol=scanner.nextDouble();
volume =volume*vol;
}
catch( InputMismatchException exp) {
String t = scanner.next();
}
}
return volume;
}
}