gpt4 book ai didi

java - 按人口分类的常见问题解答,最佳组织方式 (Java)

转载 作者:行者123 更新时间:2023-12-01 09:56:03 24 4
gpt4 key购买 nike

我有一个问题,我需要在不同人群之间组织我的常见问题解答

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];

....

前面的Q是问题答案的相同数组例如:AmanYoung[]

之后我会像这样填写问题/答案

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

所有这些人群之间存在非常不同的问题,最近出现了两个新人群,男性 -> 年轻人 -> 不工作 -> 司机/非司机

组织这么多人口的所有问题太复杂了

你有新的方法吗?使用API​​?

谢谢你的帮助

最佳答案

首先,除非您有特殊原因知道会有 12 个且不超过 12 个问题,否则我会使用 List<> 而不是数组。

第二,您没有使用 Java 的任何面向对象功能。我至少会有(为了简单起见,访问器可见性留空):

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<>());

关于java - 按人口分类的常见问题解答,最佳组织方式 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37205429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com