なぜこれが機能しないのかを理解するのに苦労しています。これは、名前の最初の文字を要求し、一致する文字に基づいて結果を返すことを目的としています。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();
}
}