3 回答
TA贡献1854条经验 获得超8个赞
理想情况下,您需要的是Map
问题和答案之间的间隔,这样即使问题被打乱,您也总能得到正确的答案。
Map<String,String> map = new HashMap<>(); map.put("How are you?","I am fine"); // similarly for all questions
然后使用map.entrySet()
得到EntrySet<Key,Value>
一对。此外,您甚至可以使用Collections.shuffle(new ArrayList<>(map.entrySet()));
shuffle 获得的EntrySet
. 最好的祝愿!
TA贡献1877条经验 获得超6个赞
从你想要完成的事情来看,根据每个frage项目的要求创建一个类,然后创建一个这样的项目的数组会更有意义。
从您发布的代码来看,您似乎在使用 Java,因此,这是创建类的代码部分:
public static class frage {
private String data01;
private String data02;
private String data03;
private String data04;
private String data05;
public frage(String data01, String data02, String data03, String data04, String data05) {
this.data01 = data01;
this.data02 = data02;
this.data03 = data03;
this.data04 = data04;
this.data05 = data05;
}
public String getData01() {
return data01;
}
public String getData02() {
return data02;
}
public String getData03() {
return data03;
}
public String getData04() {
return data04;
}
public String getData05() {
return data05;
}
}
此类相当于您创建的包含 5 个字符串的数组。要创建此类的项目,请这样做:
frage frage1 = new frage("Marke", "Produkt/Dienstleistung", "Preis/Verkaufsbedingungen", "Distribution", "Kommunikation");
同样,创建其余的对象。data01根据您的方便修改在类中声明的名称和其他变量(字符串)。
由于您提到您没有编码经验,因此要从您可以使用的项目中获取数据:
String result = frage1.getData01();
这frage1是我在前面的代码片段中创建的项目。data01并且存在于内部的数据frage1现在存在于内部result,您可以随心所欲地使用这些数据。
现在,创建一个项目列表frage,在上面的代码片段中,我创建了frage1,以同样的方式创建其他 16 个项目(或任意数量)!
像这样创建ArrayList:
ArrayList<frage> fragen = new ArrayList<frage>();
并将这些项目放入上面创建的数组列表中:
fragen.add(frage1);
同样,添加您创建的其余项目。现在,每当你想frage从 arraylist 中获取一个随机项时,首先导入java.util.Random并创建一个 的对象Random,即将其添加到程序的最开头:
import java.util.Random;
Random rand = new Random();
现在,无论何时在程序中你想得到 的随机项frage,使用这个代码:
frage random_item = fragen.get(rand.nextInt(fragen.size()));
因此,您将获得一个随机frage项目,其中包含有关您问题的所有详细信息。这里,frage是我们创建的类的名称,fragen是我们创建的 ArrayList 的名称,是应该在开始时创建的rand实例。Random
如果你想data01从random_item你刚刚得到的,使用:
String data = random_item.getData01();
现在data将包含 的值data01。希望这对您有所帮助。如果您想澄清一些事情,请将其张贴在评论中,我会尽力提供帮助;)
TA贡献1829条经验 获得超7个赞
您应该创建一个类来保存每个问题和答案,而不是在此处使用数组。经验法则是数组应该用于一系列相似的对象。在这种情况下,“问题”和“答案”不相似,因此您不应使用数组。
当您使用这种方法时,洗牌问题变得非常简单。您创建一个List
with 新类的实例,然后洗牌该列表。
添加回答
举报