/ / Viac slov v jednom reťazci? - java

Viac slov v jednom reťazci? java

Snažím sa vytvoriť program kata, kde sú slová už nastavené na začiatku a užívateľ ich musí vyskúšať a uhádnuť.

Ale ja mám vážne problémy sa snaží zistiť, ako sa dokonca rozdeliť slová od seba tak, že môžem dostať program vybrať náhodný jeden z nich.

Snažil som sa deklarovať nasledujúce slová ako reťazec, ako môžem vybrať jednu namiesto nich, alebo je to správne?

Tiež som len začal java, takže môžem použiť iba ak vyhlásenia, atď, videl niekoľko ľudí, ktorí používajú polia, ale nemôžem "t použiť ako je to pre projekt a ja" m nemal vedieť, ako.

String words = "cat:dog:hat:sat:mat:rat";

odpovede:

1 pre odpoveď č. 1

Ako ste "nie je dovolené používať polia by ste mohli najprv vytvoriť náhodné číslo a potom v závislosti na výsledku vyberte jeden z reťazcov.

Random random = new Random();
int outcome = random.nextInt(6); // 6 being the number of different words
String word = "";
if (outcome == 0)
word = "cat";
else if (outcome == 1)
word = "dog";
...

Po tomto word bude držať slovo java vybrané náhodne pre vás.


Ale ako to už uviedli iní, toto platí len vtedy, ak môžete použiť polia split a vyberte jeden z prvkov alebo by ste mali samostatný súbor so slovami ako riadky a potom náhodne vyberte jeden z riadkov v dokumente.

Druhý prístup má tú výhodu, že môžete pridávať nové slová bez zmeny programu.

Okrem toho čítanie určitého riadku dokumentu, aby sa dosiahol jeho obsah, je dokonca možné bez použitia polí. Môžete použiť odpoveď tu a zavolajte readLine náhodne niekoľkokrát a potom vezmeme reťazec, ktorý sa vrátil ako slovo.


0 pre odpoveď č. 2

Existuje funkcia rozdelenia, ktorá berie vzor ako vstup a vracia pole Strings. Pozri dokumentácia.

Tu je príklad

String words = "cat:dog:hat:sat:mat:rat";
String[] array = words.split(":");

0 pre odpoveď č. 3

Funkcia rozdelenia je vhodná pre:

String[] str_array = "name:score:abc".split(":");

Použijete premenné a priradíte im výsledky reťazcov indexes.to získať konkrétne slovo.

    String stringa = str_array[0];
String stringb = str_array[1];
String stringc = str_array[2];