Buonasera a tutti
Mi sto addentrando nella programmazione Java da qualche settimana e ora mi trovo bloccato su di un esercizio al quale non trovo risposta.
Al momento conosco solo le strutture decisionali e i cicli, chiedo a voi un suggerimento per risolvere questo progetto.
Chiedo scusa nel caso non utilizzassi termini appropriati.
/* si scriva un algoritmo per un semplice gioco che chieda di indovinare un codice numerico di 5 cifre. quando l'utente 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 l'utente ipotizza 83241, le cifre 3 e 4 sono al posto giusto. il programma perciò restituisce in output i numeri 2 (cifre
*/ corrette) e 7 (somma). si permetta all'utente di provare per un numero prefissato di volte.
Ho deciso di frammentare la variabile intera in decimali così da eseguire un costrutto if-else, mi accorgo però che per restituire l'output richiesto non è ottimale/funzionale. Non so dove sbattere la testa.
Non conoscendo ancora il metodo .Math il codice è fisso.
int sequenza = tastiera.nextInt();
int codice = 49653;
int c1, c2, c3, c4, c5, s1, s2, s3, s4, s5;
c1 = codice / 10000; // 4
c2 = (codice / 1000) % 10; // 9
c3 = (codice / 100) % 10; // 6
c4 = (codice / 10) % 10; // 5
c5 = codice % 10; // 3
s1 = sequenza / 10000;
s2 = (sequenza / 1000) % 10;
s3 = (sequenza / 100) % 10;
s4 = (sequenza / 10) % 10;
s5 = sequenza % 10;
for (int tentativo = 3; tentativo > 1; tentativo--) {
if ((sequenza) == (codice)) {
System.out.println("you win");
break;
}
// ???
sequenza = tastiera.nextInt();
}
}
}