2016-05-13 5 views
0

Я проблематично, я должен организовать свою Справку между различными группами населениемСправку населения, лучший способ организовать (Java)

Men ---> Young --> Working 
       --> Not Working 
    ---> Old 
Woman --> Young --> Working 
       --> Not Working 
     --> Old 

Для этого я использую FAQController с различным массивом

String Qmen[] = new String[12]; 

String Qwomen[] = new String[12]; 

String QmenOld[] = new String[12]; 

String QmenYoung[] = new String[12]; 

String QwomenOld[] = new String[12]; 

String QwomenYoung[] = new String[12]; 

String QmenYoungWorking[] = new String[12]; 

String QmenYoungNotWorking[] = new String[12]; 

.... 

Добротности перед Вопросом тем же массив для ответа, например: AmanYoung []

После этого я подставлен Вопросом/Ответ, как это

Qmen[0] = "How to contact ?"; 
Rmen[0] = "Call at number XXXXX"; 

Существует очень разные вопросы между всем этим населением и недавно два новых популяций появляется, Человек -> Young -> не работает -> Driver/NotDriver

Это в сложно организовать весь этот вопрос со всеми это население

У вас есть новый способ сделать это? Используя Api?

Спасибо вам за помощь

+0

Я думаю, что вы можете использовать 'Tree' для этого – Sanjeev

ответ

1

Во-первых, если у вас нет особых причин, чтобы знать, что там будет 12, и точно не больше, что 12 вопросов, которые я хотел бы использовать список <> и не Массивы.

Second Вы не используете какие-либо объектно-ориентированные функции Java. я бы на (видимость Accessors остается пустым для простоты) очень наименьшем:

class FaqEntry{ 
    String question; 
    String answer; 
    public FaqEntry(String question, String answer) { 
     this.question = question; 
     this.answer = answer; 
    } 
} 
enum PopulationWithState { 
    MenYoungWorking, 
    MenYoungNotWorking; 
} 

А потом хранить вопросы в чем-то вроде:

Map<PopulationWithState, List<FaqEntry>> faq = new HashMap<>(); 
//Fetch list of questions for a type. Return a new List if no questions exist 
faq.computeIfAbsent(PopulationWithState.MenYoungNotWorking, k-> new LinkedList<>()).add(new FaqEntry("Question here", "Answer here")); 
faq.computeIfAbsent(PopulationWithState.MenYoungNotWorking, k-> new LinkedList<>()).add(new FaqEntry("Question 2 here", "Answer 2 here")); 

//Fetch a particular list 
List<FaqEntry> menYoungNotWorking = faq.computeIfAbsent(PopulationWithState.MenYoungNotWorking, k-> new LinkedList<>()); 
+0

Спасибо за ответ, можете ли вы дать мне пример с двумя вопросами/ответами? –

+0

Добавлен пример использования. Не забудьте принять ответ, если это решит вашу проблему. – gfelisberto

Смежные вопросы