0
试图具有平衡量被示出为具有总量的TXT文件增加总量,文本文件的格式如下所示:爪哇从
12
-10.20
5.00
并且为此码循环如下
的主要部分这个我试图有一个总额的余额。和它的返回值,但它似乎打印出0.00,
public static double BalanceCheck(String FileName, String Returned) {
try {
ArrayList<String> Trains = new ArrayList<String>();
int count = 0;
double Balance = 0;
File file = new File(FileName);
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = bufferedReader.readLine()) != null)
{
if(line.startsWith("-")){
String templine = line.replace("-", "");
Balance = Double.parseDouble(templine);
Balance -= Balance;
}
else{
String tempBalance = line;
Balance = Double.parseDouble(tempBalance);
Balance += Balance;
}
System.out.println(Balance);
}
Balance = Double.parseDouble(new DecimalFormat("##.####").format(Balance));
return Balance;
} catch (IOException e) {
e.printStackTrace();
}
return (Double) null;
}
解析double应该能够在开始时解析带负数的行,所以您可以简单地每次添加解析的double。另外,我建议使用java.util.Scanner;使用FileInputStream创建扫描器,然后只需调用'scanner.nextDouble()',直到消耗完所有输入('!scanner.hasNextDouble()')。哦,另一个注意事项:Java约定是用于局部变量和参数的初始小写字母(例如'balance','fileName')。 – Luke
呃,什么是'返回的字符串',为什么它没有被使用,为什么你返回null投到一个Double?另外,Double与Double有些不同。并且有一行将Balance转换为格式化的字符串,然后再将其解析为Double;似乎不必要。那里的意图是什么? – Luke