Sto cercando di creare un programma impiccato, dove le parole sono già impostate all'inizio e l'utente deve cercare di indovinarle.
Ma sto avendo seri problemi cercando di capire come dividere le parole in modo da poter ottenere il programma per sceglierne uno a caso.
Ho provato a dichiarare le seguenti parole come una stringa, come faccio a sceglierne una invece di tutte, o è anche corretta?
Inoltre ho solo avviato java in modo da poter usare solo le istruzioni, ecc., Visto alcune persone che usano gli array, ma non posso usarli come questo è per un progetto e non dovrei sapere come.
String words = "cat:dog:hat:sat:mat:rat";
risposte:
1 per risposta № 1Siccome non ti è permesso usare gli array, potresti prima creare un numero casuale e poi, in base al risultato, selezionare una delle stringhe.
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";
...
Dopodichè word
manterrà la parola java selezionata a caso per te.
Ma come già affermato da altri, questo è applicabile solo se non si possono usare gli array. In generale si dovrebbe usare l'approccio con split
e seleziona uno degli elementi o avresti un file separato con parole come linee e poi seleziona una delle righe nel documento a caso.
Il secondo approccio ha il vantaggio di poter aggiungere nuove parole senza modificare il programma.
Inoltre, la lettura di una riga specifica di un documento per ottenere il suo contenuto è persino possibile senza utilizzare gli array. Potresti usare la risposta Qui e basta chiamare readLine
un numero casuale di volte e poi prendendo la stringa che ha restituito come parola.
0 per risposta № 2
Esiste una funzione divisa che prende un pattern come input e restituisce un array di stringhe. Vedere il documentazione.
Ecco un esempio
String words = "cat:dog:hat:sat:mat:rat";
String[] array = words.split(":");
0 per risposta № 3
La funzione split è adatta per questo:
String[] str_array = "name:score:abc".split(":");
Utilizzerai le variabili e assegnerai loro gli indici delle stringhe di risultato. Per ottenere una parola particolare.
String stringa = str_array[0];
String stringb = str_array[1];
String stringc = str_array[2];