需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)。
将两数相除,要求不使用乘法、除法和%运算符。得到商和余数
思路:假设被除数和除数分别为100和3;循环中将被除数的变量(dividend)赋值为被除数(100)-除数(3);当此变量(dividend)比此时的除数(3)小时,此时的(dividend)就是余数,而循环的次数就是商。
package com.demo1;
import java.util.Scanner;
public class Test11 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
// 1、定义变量记录被除数
System.out.println("请输入被除数:");
int dividend=sc.nextInt();
// 2、定义变量记录除数
System.out.println("请输入除数:");
int divisor=sc.nextInt();
// 3、定义while循环,在循环在不断利用
// 被除数-除数,直到满足条件;
//定义变量记录循环次数
int count=0;
while(dividend>=divisor){
dividend=dividend-divisor;
count++;
}
System.out.println("得到的余数为");
System.out.println(dividend);
System.out.println("得到的商为");
System.out.println(count);
}
}