问题描述
1.10.100.1 1000.0
1.10.100.2 2000.0
1.10.100.3 2000.0
1.10.500.4 1000.0
public double searchInBalance(String depositNumber) {
try {
String[] words = null;
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String string;
String inputBalancetoFind = depositNumber;
while ((string = bufferedReader.readLine()) != null) {
words = string.split(" ");
for (String word : words) {
if (word.equals(inputBalancetoFind)) {
System.out.println("string :" + string);
}
}
}
fileReader.close();
} catch (Exception e) {
e.printstacktrace();
System.out.println("Error in searchInBalance");
}
return 1;
}
我想做一个函数,当找到文件的左值时返回正确的值(双值),但不知道该怎么做,请帮助我
解决方法
public double searchInBalance(String depositNumber){
try {
String[] words = null;
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String string;
String inputBalanceToFind = depositNumber;
while ((string = bufferedReader.readLine()) != null) {
words = string.split(" ");
for (int i = 1; i < words.length; i += 2) {
if (words[i].equals(inputBalanceToFind)) {
System.out.println(words[i]+" - "+words[i - 1]);
}
}
}
fileReader.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Error in searchInBalance");
}
}
只需创建一个带有计数器的 for 循环来处理数组的索引。但这不是一种好的编程风格,您应该尝试改进您的解决方案:D