Esercizio giochi Stringhe e ciclo while

di il
3 risposte

Esercizio giochi Stringhe e ciclo while

Buonasera mi chiamo Matteo e sono nuovo.
Sono un ragazzo di 16 anni e sto imparando a programmare da solo quindi spero siate clementi

Sto utilizzando Online Il walter savitch.

Fino a pagina 195 tutto ok, ora mi sono bloccato.

Ho questo esercizio:
Si scriva un algoritmo per un semplice gioco che chieda di indovinare un codice numerico di cinque cifre. Quando Putente scrive la risposta, il programma restituisce
due valori: il numero di cifre al posto giusto e la somma di queste cifre. Per esempio,
se il codice segreto è 53840 e Putente ipotizza 83241, le cifre 3 e 4 sono al posto
giusto. Il programma perciò restituirebbe in output i numeri 2 (cifre corrette) e 7
(somma). Si permetta alPutente di provare per un numero prefissato di volte.

Testo copiato

Ho tentato di risolverlo e mi sono bloccato su una cosa.
Ho scritto prima a matita lo pseudocodice e poi su eclipse mi sono bloccato sul ciclo while.

Cioè mi spiego meglio, ho messo il valore 53840 in una stringa.
e ho creato una stringa che viene letta da tastiera e viene confrontata tramite il metodo contains con questa stringa.
Ovvero

while(Stringautente.contains(stringanumero))....
Pero cosi mi sono accorto che devo fare il contrario cioè negarla.
Come si nega una stringa in un ciclo?

Io ho provato a mettere while (!=(stringautente etc)) però mi da errore.....
Sono due ore che lo odio ormai questo esercizio.

Potete poi darmi un indizio per capire come scrivere che l utente ha inserito 2 numeri giusti?

cioe tipo il numero corretto è 53840 ok
se da tastiera viene inserito 51800
Come faccio a scrivere(programmare) che ha azzeccato 3 numeri?
Scusate oggi mi ha distrutto sta cosa
Non vi chiedo la risoluzione dell'esercizio ma potete dirmi se sto facendo bene sia il metodo utilizzato(contains) che come negare una dichiaraione di stringa.

Grazie,spero di essermi spiegato bene

3 Risposte

  • Re: Esercizio giochi Stringhe e ciclo while

    Perchè il messaggio non viene pubblicato?
  • Re: Esercizio giochi Stringhe e ciclo while

    Ciao e benvenuto, il messaggio adesso è pubblicato
  • Re: Esercizio giochi Stringhe e ciclo while

    BlackM ha scritto:


    while(Stringautente.contains(stringanumero))....
    Pero cosi mi sono accorto che devo fare il contrario cioè negarla.
    Come si nega una stringa in un ciclo?
    No, non è questo l'approccio giusto. Anche perché "contains" non serve.

    Innanzitutto fai un confronto con equals:

    if (stringaInput.equals(stringaSegreta))

    Se è "vero", l'utente ha indovinato, fine della storia (lo segnali all'utente come vuoi tu).
    Se non è vero, allora devi dare quelle due indicazioni specificate. E devi scansionare carattere per carattere tra le due stringhe per vedere a quali indici c'è la stessa cifra. Questo NON è il senso del "contains", devi usare charAt(indice) per estrarre carattere per carattere.

    Ci si aspetta che la stringaInput abbia la stessa lunghezza di stringaSegreta, anche questo è un controllo da fare.
Devi accedere o registrarti per scrivere nel forum
3 risposte