查找单词并返回单词的特定值

问题描述

我有一个包含此内容文件

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