有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAutil。scanner scanner hasNextLine()无法访问Java中的最后一行

我在Java中使用TreeMap结构。键中包含字符“:”,值是一个事物列表。问题是当我调试程序时,程序停在这一行(不再工作了…)

if (!string.isEmpty()) {
    **string = jin.nextLine();**
}

我真的不知道会出什么问题。下面是我的代码。Data(我在其中保存date变量)和ListOfBills(我在其中保存Bill类的对象列表)是另外两个类

public void read(InputStream in) throws ParseException {
        Scanner jin = new Scanner(in);
        TreeMap<Date, ListOfBills> tree = new TreeMap<Date, ListOfBills>();
        ListOfBills obBill = new ListOfBills();
        Data data;
        String string = jin.nextLine();
        while (jin.hasNextLine()) {
            if (string.contains(":")) {
                data = new Data((string));
                string = jin.nextLine();
                while (!string.contains(":")) {
                    String[] parts1 = string.split(" ");
                    obBill.listOfBills.add(new Bill(Integer.parseInt(parts1[0]), Float.parseFloat(parts1[2]),
                            parts1[3], Float.parseFloat(parts1[5])));                   
                    if (!string.isEmpty()) {
                        string = jin.nextLine();

                    }
                }
                tree.put(data.date1, obBill);

            }

        }
        for (Date date : tree.keySet()) {
            System.out.println(date + "\n");
        }
        jin.close();

    }

共 (1) 个答案

  1. # 1 楼答案

    它一直被阻止,因为它正在等待输入。。。 如果从控制台进行的测试

    希望有帮助