Quote Originariamente inviata da Ansharja Visualizza il messaggio
Si l'impostazione del problema è un po' confusionaria, soprattutto il confronto dentro il ciclo.
Intanto ti conviene usare un metodo che faccia il confronto e restituisca un valore booleano che vale true solo se il numero è esatto, altrimenti false.
In questo caso potrebbe sembrare superfluo, ma è sempre una buona idea creare metodi che si occupano di un singolo compito e non "intasare" il main con tutto, soprattutto quando il codice è molto lungo.


Dentro il ciclo io quindi farei qualcosa del genere:


codice:
while(vite>0)
    {
        System.out.println("Ti restano ancora "+vite+" vite.Prova a indovinare il numero di 5 cifre > ");
        int confronto=tastiera.nextInt();
        if(numeriUguali(base,confronto))
        {
            System.out.printl("Complimenti hai indovinato!");
            return;
        }
        else vite--;
    }

Cioè leggi il numero all'inizio del ciclo, poi richiami la funzione che ti dice se i due numeri sono uguali (a proposito nel tuo codice usi la variabile base e non si capisce da dove l'hai tirata fuori, sarebbe una buona idea che fosse un numero di 5 cifre generato casualmente).


Nella funzione che confronta l'uguaglianza dei numeri, in caso il numero non sia corretto, stampi anche il numero di cifre corrette e la loro somma.


Poi tu hai fatto un sacco di casino nel confrontare le cifre con l'operatore % , se posso consigliarti io leggerei il numero come stringa (quindi usando nextLine() e non nextInt()) , ovviamente assicurandomi che la stringa sia di lunghezza 5 e che sia effettivamente un numero.
Poi confronti una cifra alla volta utilizzando la funzione substring della classe String e convertendo il carattere letto in numero usando Integer.parseInt(laTuaCifraLetta).


E' difficile dire di più senza scrivere l'intero codice, intanto dimmi se questo ti può essere utile
Ti ringrazio calorosomente per la risposta. Concordo sul confusionario, ma non posso utilizzare funzioni o metodi: ciò che posso utilizzare si ferma a ciò che ho scritto, per quanto possa essere estremamente antiestetico...