我很难理解为什么这不起作用。它的目的是询问名称的第一个字母并根据匹配的字符返回结果。txt 文件设置了许多名称,例如:
- 埃迪·科克伦 1938 - 1960
- 克里夫伯顿 1938 - 1960
- 克里夫伯顿 1938 - 1960
- 詹姆斯·迪恩 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();
}
}