我很难理解为什么这不起作用。 它的目的是要求输入名称的第一个字母,并根据匹配的char返回结果。 txt文件有许多名称设置如下:
目前只列出所有名称和日期。任何人都可以给我一些建议,谢谢。
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();
}
}
答案 0 :(得分:2)
我认为你的问题就在这一行:
if(surname.charAt(0) == firstLetter);
最后删除分号。
这是删除括号时代码的样子。
if(surname.charAt(0) == firstLetter);
System.out.println(firstName + " " + surname + year);
如你所见,这些只是一个接一个的陈述。