So habe ich eine Datei, die alle Präsidenten darin hat - ihren Vornamen, mittlere Anfangs (falls vorhanden) und Nachname.String-Array-Namen suchen
Die Datei muss eingelesen werden, und ein Benutzer kann den Namen eines Präsidenten eingeben, um danach zu suchen, und dieser Präsident sollte angezeigt werden.
Ich habe es anzeigen den Präsidenten, wenn ein Benutzer sucht nach Vorname oder Nachname, aber nicht von beiden.
Zum Beispiel kann die externe Datei enthält:
George,Washington,(1789-1797)
Franklin,D.,Roosevelt,(1933-1945)
... and so on with all the presidents
ich den Benutzer müssen entweder den ersten Namen in der Lage sein, den Nachnamen oder beides Vor- und Nachnamen und erhalten das gewünschte Ergebnis (das Datum ist größtenteils irrelevant).
Ausprobiert viele verschiedene Dinge, aber nicht so weit wie die Anzeige des Präsidenten, wenn der Benutzer sucht nach Vor- und Nachnamen. Hier
ist, was ich habe, so weit:
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);
}
}
möchten Sie fragen? – sunysen
Umm ... was? Ja, ich möchte lol fragen ... – rockymontana