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 新類的實例,然后洗牌該列表。
添加回答
舉報