0

我需要扫描examdata.txt 文件并找到文件中的int 与用户输入的int 匹配的位置。我正在阅读的文件包含以下条目:

ACCY111 CO216 10 20 ABD ALSOP
ACCY111 CO228 10 16 AMBALAWANAR AVES
ACCY111 EALT006 10 72 AYSON CHALMERS
ACCY111 GBLT1 10 72 CHAN DENG
ACCY111 GBLT2 10 72 DES GARDEN

第三个条目是我要使用的日期。

这是我的代码:

    public void printSession(int targetDate)
{

try
{
    Scanner scan = new Scanner(new File("examdata.txt"));
    while (scan.hasNext())
    {
        if (scan.hasNextInt())
        {
            int date = scan.nextInt();
            if (date == targetDate)
            {
                UI.println(scan.nextLine());
            }
        }
    }
}

catch (IOException e)
{
    UI.println("File read error." + e);
}
}

它什么也没输出..我哪里出错了?

4

1 回答 1

0

我哪里错了?

为了让您的代码使用任何输入,两者都scan.hasNext()必须scan.hasNextInt()为真。然而,鉴于文件的第一个字符是一个字母,代码永远不会超过它。

于 2013-04-27T06:42:36.200 回答