私は、その中にすべての大統領が含まれているファイルを持っています - 名字、中間の頭文字(もしあれば)、そして姓。文字列配列名の検索
ファイルを読み込む必要があります。ユーザーは大統領の名前を入力して検索し、その社長を表示する必要があります。
ユーザーが名または姓で検索した場合は大統領を表示しますが、両方では検索できません。例えば
、外部ファイルには含まれています
George,Washington,(1789-1797)
Franklin,D.,Roosevelt,(1933-1945)
... and so on with all the presidents
は、私が(最初の名前でいずれかのタイプ、姓、または両方の最初と最後の名前のことができるようにし、望ましい結果を得るために、ユーザが必要日付はほとんどの場合無関係です)。
さまざまなことを試してみましたが、ユーザーが姓と名義で検索した場合、社長を表示する限りはそこには到達しません。ここで
は、私がこれまでに得たものである:
public class NameSearch {
public static void main(String[] args) throws IOException {
try {
// read from presidents file
Scanner presidentsFile = new Scanner(new File("Presidents.txt"));
// scanner for user input
Scanner keyboard = new Scanner(System.in);
// create array list of each line in presidents file
ArrayList<String> presidentsArrayList = new ArrayList<String>();
// prompt user to enter a string to see if it matches with a president's name
System.out.println("Enter a search string of letters to find a president match: ");
// store user input
String userInput = keyboard.nextLine();
// add president file info to array list linesInPresidentFile
while (presidentsFile.hasNextLine()) {
presidentsArrayList.add(presidentsFile.nextLine());
} // end while loop
String presidentNamesArray[] = presidentsArrayList.toArray(new String[presidentsArrayList.size()]);
String results = searchArray(presidentNamesArray, userInput);
//System.out.println("\nThe presidents who have \"" + userInput + "\" as part of their name are: ");
} catch (FileNotFoundException ex) {
// print out error (if any) to screen
System.out.println(ex.toString());
} // end catch block
} // end main
// method to search for a specific value in an array
public static String searchArray(String array[], String value) {
for (int i = 0; i < array.length; i++) {
if (array[i].toLowerCase().contains(value.toLowerCase())) {
String splitter[] = array[i].split(" ,");
System.out.println(Arrays.toString(splitter));
}
}
return Arrays.toString(array);
}
}
質問しますか? – sunysen
うーん...何?そうです、私は笑に聞きたいです... – rockymontana