Buonasera a tutti. non riesco a risolvere un esercizio, o meglio ancora, ho scritto un codice ma non funziona come credevo. l'esercizio è:
"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ò restituirebbe in output i numeri 2(cifre corrette) e 7(somma). si permetta all'utente di provare per un numero prefissato di volte."
questo è il codice che ho scritto io:
import java.util.Scanner;
public class Esercizio3 {
public static void main(String[] args) {
final int numero = 12345;
int numeroIns = 0;
int[] numeroF = new int[5];
int[] numeroInserito = new int[5];
int sentinella = 0;
int i = 0;
int somma = 0;
int sommacifre = 0;
Scanner input = new Scanner(System.in);
System.out.println("hai 5 possibilità");
numeroF[0] = 1;
numeroF[1] = 2;
numeroF[2] = 3;
numeroF[3] = 4;
numeroF[4] = 5;
do {
System.out.println("inserisci un numero di 5 cifre");
numeroIns = input.nextInt();
System.out.println("ripeti ogni cifra seguita da enter");
numeroInserito[0] = input.nextInt();
numeroInserito[1] = input.nextInt();
numeroInserito[2] = input.nextInt();
numeroInserito[3] = input.nextInt();
numeroInserito[4] = input.nextInt();
if (numeroIns == numero) {
System.out.println("hai indovinato il numero!!!");
sentinella = 1;
}
else {
for (i = 0; i < 5; i++) {
if (numeroF == numeroInserito) {
somma = somma + 1;
sommacifre = sommacifre + numeroInserito;
i++;
} else {
i++;
}
}
System.out.println("la somma delle cifre indovinate è " + sommacifre);
System.out.println("hai indovinato " + somma + " cifre");
}
} while (sentinella == 0);
input.close();
}
}
spero mi possiate aiutare, grazie!