Bu yüzden içinde tüm başkanların bulunduğu bir dosyam var; bunların adları, adlarının ilkleri (varsa) ve soyadı.Dize dizi adı arama
Dosyanın okunması gerekir ve bir kullanıcı aramak için bir başkanın adına girebilir ve bu başkanın görüntülenmesi gerekir.
Bir kullanıcı adı veya soyadı ile arama yapıyorsa, ancak her ikisiyle birden değil, başkanın görüntüleyicisini görüntüledim.
Örneğin, dış dosya içerir:
George,Washington,(1789-1797)
Franklin,D.,Roosevelt,(1933-1945)
... and so on with all the presidents
Ben ilk isim ya türü, soyadı veya her ikisi ad ve soyadı muktedir ve (istenilen sonucu elde etmek için kullanıcı gerekmiyor tarih çoğu zaman ilgisizdir).
Çok sayıda farklı şey denedim, ancak eğer kullanıcı ad ve soyadı ile arama yaparsa, cumhurbaşkanını gösterecek kadar oraya gitmeyin. Ben dosya girişlerini this.Read uygulanacak ve (belki lname, fname ve yıl ile sınıfında) nesneler olarak onları depolamış olabilir başka yolu yoktur
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);
}
}
Sormak ister misiniz? – sunysen
Umm ... ne? Evet lol sormak istiyorum ... – rockymontana