需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)。
将两数相除,要求不使用乘法、除法和%运算符。
得到商和余数。
被除数 %除数=商 ... 余数
#这里%代表除
//1、求商,就是求里面有多少个除数
//2、求余数,就是拿出n个除数外,
//剩下不再按除数の规格拿掉、剩下的数字
这题使用do...while语句,
do { //代码语句 }while(布尔表达式);
while,do...while,for是循环的3种常见语态。
continue跳出本层循环,break打破所有循环
package 求商和余数;
import java.util.Scanner;
public class 求商和余 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int num1=scan.nextInt(); //被除数
int num2=scan.nextInt(); //除数
//被除数 %除数=商 ... 余数 #这里%代表除
//1、求商,就是求里面有多少个除数
//2、求余数,就是拿出n个除数外,
//剩下不再按除数の规格拿掉、剩下的数字
int cnt=0; //商
int temp=0; //余数
/*do...while先执行,再判断*/
int a=num1,b=num2; //为了美观
do {
//1。拿掉除数num2
num1=num1-num2;
cnt++;
temp=num1; //记录当前剩下了多少
}while(num1>num2); //被除数要大于num2
//如果判断是>0,会出现多走了
System.out.println("数字"+a+"除以"+b+"的结果是:");
System.out.println("商:"+cnt+" "+"余数:"+temp);
}
}