使用循环语句划分两个数字

xyv*_*yre 3 java division

嗨,我正在做一个java活动,它将分割两个给定的数字,而不使用"/"运算符.我想使用循环语句.

System.out.print("Enter Divident: ");
int ans1 = Integer.parseInt(in.readLine());
System.out.print("Enter Divisor: ");
int ans2 = Integer.parseInt(in.readLine());
Run Code Online (Sandbox Code Playgroud)

输出是:

  Enter Dividend: 25
  Enter Divisor 5
  5
Run Code Online (Sandbox Code Playgroud)

如何在不使用"ans1/ans2"的情况下解决这个问题

Far*_*baz 6

如果你真的想用循环划分两个数字,你可以像下面的代码一样编写它

 int c=0;
 while(ans1 >= ans2){
     ans1 -= ans2;
     c++;
 }
Run Code Online (Sandbox Code Playgroud)

后循环c等于商,ans1等于除法提醒

如果abs1abs2是签名的数字,下面的代码应该是分工

 boolean n1 = (ans1 & (1<<31))!=0;
 boolean n2 = (ans2 & (1<<31))!=0;
 ans1 = Math.abs(ans1);
 ans2 = Math.abs(ans2);

 int c=0;
 while(ans1 >= ans2){
     ans1 -= ans2;
     c++;
 }
 if(!n1 && n2) c = -c;
 else if(n1 && !n2){
     c = -c;
     if(ans1 > 0){
         ans1 = ans2 - ans1;
         c--;
     }
 }else if(n1 && n2){
     if(ans1 > 0){
         ans1 = ans2 - ans1;
         c++;
     }
 }
Run Code Online (Sandbox Code Playgroud)