3 回答
TA貢獻1854條經(jīng)驗 獲得超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條經(jīng)驗 獲得超6個贊
從你想要完成的事情來看,根據(jù)每個frage項目的要求創(chuàng)建一個類,然后創(chuàng)建一個這樣的項目的數(shù)組會更有意義。
從您發(fā)布的代碼來看,您似乎在使用 Java,因此,這是創(chuàng)建類的代碼部分:
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;
}
}
此類相當于您創(chuàng)建的包含 5 個字符串的數(shù)組。要創(chuàng)建此類的項目,請這樣做:
frage frage1 = new frage("Marke", "Produkt/Dienstleistung", "Preis/Verkaufsbedingungen", "Distribution", "Kommunikation");
同樣,創(chuàng)建其余的對象。data01根據(jù)您的方便修改在類中聲明的名稱和其他變量(字符串)。
由于您提到您沒有編碼經(jīng)驗,因此要從您可以使用的項目中獲取數(shù)據(jù):
String result = frage1.getData01();
這frage1是我在前面的代碼片段中創(chuàng)建的項目。data01并且存在于內(nèi)部的數(shù)據(jù)frage1現(xiàn)在存在于內(nèi)部result,您可以隨心所欲地使用這些數(shù)據(jù)。
現(xiàn)在,創(chuàng)建一個項目列表frage,在上面的代碼片段中,我創(chuàng)建了frage1,以同樣的方式創(chuàng)建其他 16 個項目(或任意數(shù)量)!
像這樣創(chuàng)建ArrayList:
ArrayList<frage> fragen = new ArrayList<frage>();
并將這些項目放入上面創(chuàng)建的數(shù)組列表中:
fragen.add(frage1);
同樣,添加您創(chuàng)建的其余項目。現(xiàn)在,每當你想frage從 arraylist 中獲取一個隨機項時,首先導入java.util.Random并創(chuàng)建一個 的對象Random,即將其添加到程序的最開頭:
import java.util.Random;
Random rand = new Random();
現(xiàn)在,無論何時在程序中你想得到 的隨機項frage,使用這個代碼:
frage random_item = fragen.get(rand.nextInt(fragen.size()));
因此,您將獲得一個隨機frage項目,其中包含有關您問題的所有詳細信息。這里,frage是我們創(chuàng)建的類的名稱,fragen是我們創(chuàng)建的 ArrayList 的名稱,是應該在開始時創(chuàng)建的rand實例。Random
如果你想data01從random_item你剛剛得到的,使用:
String data = random_item.getData01();
現(xiàn)在data將包含 的值data01。希望這對您有所幫助。如果您想澄清一些事情,請將其張貼在評論中,我會盡力提供幫助;)
TA貢獻1829條經(jīng)驗 獲得超7個贊
您應該創(chuàng)建一個類來保存每個問題和答案,而不是在此處使用數(shù)組。經(jīng)驗法則是數(shù)組應該用于一系列相似的對象。在這種情況下,“問題”和“答案”不相似,因此您不應使用數(shù)組。
當您使用這種方法時,洗牌問題變得非常簡單。您創(chuàng)建一個Listwith 新類的實例,然后洗牌該列表。
添加回答
舉報
