使用Java Eclipse编码

时间:2016-10-11 16:56:30

标签: java eclipse

我需要创建一个用户可以输入名称的程序,程序将逐行搜索文件,直到匹配为止,然后返回所有匹配项。所以这就是我所拥有的,我将文件放入程序中,但似乎无法编写程序来搜索文件以获取用户输入。有什么帮助吗?

作业:这是代码必须要做的。

读取每一行,解析出名称部分,对名称进行匹配,如果匹配则返回全名,否则移至下一行。如果你在没有匹配的情况下到达目的地,请留言。

 import java.util.Scanner;
 import java.io.*;

    public class USpres {
        public static void main(String[] args) throws FileNotFoundException  {

            File file = new File ("USPres.txt");
              Scanner kb = new Scanner(System.in);
              Scanner scanner = new Scanner(file);

                System.out.println("Please enter the name you would like to search for: ");
                String name = kb.nextLine();

                while (scanner.hasNextLine())
                {

                 if(scanner.nextLine() == kb)
                 { 
                           System.out.println("I found " +name+ " in file " +file.getName());

                       }
                           break;

1 个答案:

答案 0 :(得分:1)

if(scanner.nextLine() == kb)
{ 
    System.out.println("I found " +name+ " in file " +file.getName());

}

应该成为

if(scanner.nextLine().equalsIgnoreCase(name))
{ 
    System.out.println("I found " +name+ " in file " +file.getName());

}
就像他们在评论中所说的那样。另外,.equals()用于比较两个对象,而不是两个字符串。由于它们都是字符串,因此您可以使用此方法取得成功,但我建议在比较字符串时始终使用.equalsIgnoreCase()。