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 !!