Ciao a tutti
Devo realizzare un programma che, senza l'ausilio della funzione %, calcoli il resto della divisione tra due interi.
Ciò che avevo pensato era questo codice:

codice:
import java.util.Scanner;

public class CalcoloResto {
	public static void main(String[] args){
		
            int q=0;
            int b=0;
            int r=0;
            Scanner tastiera = new Scanner(System.in);
	
            System.out.println("Inserisci il dividendo");
            int a=tastiera.nextInt();

            do{
                System.out.println("Inserisci il divisore");
		b=tastiera.nextInt();
	
		if(b==0)
                    System.out.println("Inserisci nuovamente il valore del divisore, dev'essere un numero diverso da 0");
                
            }while(b==0);
                  System.out.println("valore di b ok");

            do{
                q=a/b;
                r=a-q*b;
               System.out.println(r);
            }while((r!=0)&&(r!=1)&&(r!=2));

                System.out.println("Il resto e' : "+r);
                System.out.println("Il resto calcolato con la funzione % e' : "+(a%b));
            }
        }
Il problema è proprio il while: a che punto mi fermo? Esistono divisioni che diano un resto maggiore di 2 (come parte intera)?
Ho provato ad inserire 345/123 e ottengo 99 anche col % !!!! Ma il resto non dovrebbe essere 1 circa?

Aiutatemi vi pregooo !!