2016-02-06 5 views
0
public class favoriteshow { 

String name = null; 
int age = 0; 
String show = null; 

public Lab2(String name, int age, String show){ 
    this.name = name; 
    this.age = age; 
    this.show = show; 
} 

public String toString(){ 
    return "Name " + name + " age: " + age + " Favorite show: " + show; 
} 

} 

Мой главный класс:Поиск через объект ArrayList

public class NewClass { 
public static void main(String args[]){ 
    int x = 0; 

    ArrayList<favoriteshow> arraylist = new ArrayList<favoriteshow>(); 

while(x < 5){ 
    String name; 
    int age = 0; 
    String show; 

    Scanner scanner = new Scanner(System.in); 

    System.out.print("Enter a name: "); 
    name = scanner.nextLine(); 

    System.out.print("Enter an age: "); 
    age = scanner.nextInt(); 

    System.out.print("Enter a show: "); 
    show = scanner.nextLine(); 

    Lab2 nub1 = new Lab2 (name, age , show); 




    arraylist.add(nub1); 
     x++; 

    } 

    System.out.println(arraylist); 


} 
} 

(. Я знаю, что моя в то время как цикл только повторяет 5 раз, потому что я просто тестирования)

Так у меня есть ArrayList, что пользователь вводит имя, возраст и любимое шоу. Я хочу включить функцию поиска, поэтому, если бы я попросил пользователя ввести имя, она отобразит информацию для ВСЕХ людей, имеющих такое же имя, а не только для первого лица. Я также хочу, чтобы он рассказал мне, какой номер в списке этого человека. Например, если бы у меня было 5 человек, а у 2 из них одно и то же имя, и они были 2 и 4 позиции, тогда он скажет мне, что они являются второй и четвертой позицией.

+0

Что называется ваш класс, favoriteshow или LAB2? Кажется, у вас перепутаны имена. Кроме того, если это понравится, это обычное значение в заглавной (FavoriteShow). –

ответ

0

Просто перебирает индексы ArrayList как в обычном массиве и сделать сравнение с желаемым полем, например .:

public void searchAndShow(String name) { 
    for (int i = 0; i < arraylist.size(); i++) { 
     favoriteshow fs = arraylist.get(i); 
     if (fs.getName().equals(name)) { 
      System.out.println(i + " - " + fs); 
    } 
} 
+0

Я бы поместил это в мой основной класс или мой класс избранных? – BMW

+0

В вашем основном классе. – Baderous

+0

СПАСИБО СМОТРЕТЬ БОЛЬШЕ !!!! Это очень помогло мне! – BMW