0

我有一个关于如何从文件中提取字母的问题。这是我阅读的文件中的示例行。

ui 帕克 8

我读了 3 个标记,应该从第一个标记中提取 2 个字母,但不知道该怎么做。代码引用了 5 个属性,这些属性是之前声明的对象的一部分,以及文件中的 3 个标记。第一个字母确定学生是本科生还是研究生,第二个字母确定学生是本州还是外州。

  while(fileScan.hasNext())
           {

            classStatus = fileScan.next();

            if(classStatus.charAt(0) == 'u' || classStatus.charAt(0) == 'U')
            {
                classStatus= "underGrad";
            }
            else
            {
                classStatus= "Grad";
            }

            studentName = fileScan.next();
            resident = fileScan.next();


            numberOfCredits = fileScan.nextInt();
            double tuitionBill = fileScan.nextDouble();


            StudentNode aNode = new StudentNode(classStatus,studentName,resident);
4

1 回答 1

0

所以遗漏的一个重要部分是你正在使用java.lang.Scanner(fileScan的类型)是吗?

好吧,因为您的文件很可能组织良好:

令牌 [空格] 令牌 [空格] 令牌

您可以将每一行作为字符串读取,然后有效地对读取的每一行的空格进行拆分。Scanner我们可以通过正则表达式完成这种拆分,更具体地说,使用该useDelimiter()方法。一个很好的参考是this other SO question for using useDelimiter().

无论如何,要继续,您可以fileScan.next()将每个标记作为字符串获取。然后你使用上面的substring方法或charAt方法来挑选出必要的字符。

于 2013-02-21T21:45:28.680 回答