Java:使用char - scanner搜索文件

时间:2012-09-09 08:54:32

标签: java file search char user-input

我很难理解为什么这不起作用。 它的目的是要求输入名称的第一个字母,并根据匹配的char返回结果。 txt文件有许多名称设置如下:

  • Eddie Cochran 1938 - 1960
  • Cliff burton 1938 - 1960
  • Cliff burton 1938 - 1960
  • James Dean 1938 - 1960 1968 - 1970 1978 - 1980

目前只列出所有名称和日期。任何人都可以给我一些建议,谢谢。

import java.util.Scanner;
import java.io.File; 
import java.io.FileNotFoundException;

public class NameYear {

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

    Scanner keyboard = new Scanner(System.in);
    System.out.print("What is the first letter? ");
    String input = keyboard.next().toLowerCase();
    char firstLetter = input.charAt(0);

    File file = new File("names.txt");
    Scanner input = new Scanner(file);


    while(input.hasNext())
    {
       String firstName  = input.next(); 
       String surname  = input.next(); 
       String year = input.nextLine();  

        if(surname.charAt(0) == firstLetter);
         { 
           System.out.println(firstName + " " + surname + year);
         }
     }
 input.close();
}
}

1 个答案:

答案 0 :(得分:2)

我认为你的问题就在这一行:

if(surname.charAt(0) == firstLetter);

最后删除分号。

这是删除括号时代码的样子。

if(surname.charAt(0) == firstLetter);
System.out.println(firstName + " " + surname + year);

如你所见,这些只是一个接一个的陈述。