Можно ли применить функцию поиска при использовании Get и Set? - PullRequest
1 голос
/ 16 апреля 2011

Извините, я новичок в Java, и, возможно, ответ на этот вопрос очень прост.

На данный момент я печатаю все результаты в отдельных JOptionPane с.
Я хотел бы настроить функцию поиска , чтобы позволить мне показывать определенные результаты на основе заданных критериев.

Вот мой код:

public class Main {

    public static void main(String[] args) {

        //Create new Person objects
        Address p1 = new Address("27","Abbey View","Hexham","NE46 1EQ");
        Address p2 = new Address("15", "Chirdon Crescent", "Hexham", "NE46 1LE");
        Address p3 = new Address("6", "Causey Brae", "Hexham", "NE46 1DB");

        Details c1 = new Details();
        Details c2 = new Details();
        Details c3 = new Details();

        //Send some messages to the  objects
        c1.setBeds("3 ");
        c2.setBeds("6");
        c3.setBeds("4");

        c1.setPrice("175,000");
        c2.setPrice("300,00");
        c3.setPrice("250,000");

        c1.setType("Terraced");
        c2.setType("Bungalow");
        c3.setType("Detached");

        //Set up the association
        p1.ownsDetails(c1);
        p2.ownsDetails(c2);
        p3.ownsDetails(c3);

        //Print result
        p1.printDetails();
        p2.printDetails();
        p3.printDetails();

        //Finally quit
        System.exit(0);
    }
}

Любая помощь будет оценена, спасибо.

Ответы [ 2 ]

1 голос
/ 16 апреля 2011

Да, вы можете создать пользовательский JDialog или JFrame, который имеет несколько полей ввода и несколько результатов, которые появляются в результате поиска.

В идеале ваши объекты должны быть всписок или массив для выполнения поиска,
, чтобы вы могли перебрать все из них и найти совпадения.

1 голос
/ 16 апреля 2011

Вместо трех отдельных переменных может оказаться полезным иметь массив:

Address p[] = new Address[3];
p[0] = new Address("27","Abbey View","Hexham","NE46 1EQ");
p[1] = new Address("15", "Chirdon Crescent", "Hexham", "NE46 1LE");
p[2] = new Address("6", "Causey Brae", "Hexham", "NE46 1DB");

Теперь можно написать цикл для проверки каждой из них:

for(int i = 0; i < p.length; i++) {
    if (p[i].getSomething().equals(thingToSearch)) {
        // ... it's a match!
    }
}
...