suppongo che l'esercizio fosse per farvi usare il while, per cui, usare la divisione è barare

Potresti riscrivere:

codice:
r = a;
do {
  r = r - b; 
}
while (r => b);
System.out.println("Resto = "+r);
In questo modo avrai
r = 345; //prima di entrare nel while
r = 345 - 123; //primo giro nel ciclo while (quindi r = 222);
r = 222 - 123; //secondo giro nel ciclo while (quind r = 99);

Adesso r < 123, allora esci dal ciclo while e stampi il risultato. funziona?