求大神救,能帮看看Java代码吗?

各路大神好,我是一个编程小小白,所以我估计所提的问题也会很小白,万望各位大神不要鄙视不要生气不要吐槽,我正努力地向各位靠近。

想请大神帮我看看,下面的代码为什么是错的勒?我是真的真的不知道哇。
PS:我有看过CSDN上的文章,但不知道这里能不能这样直接作为问题发表出来,若是不可以,还望告知,我会马上删除的。

题目是

计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。


任务是写一个程序,输入一个整数,输出在32位二进制表达下它前导的零的个数。如输入256,输出23.

import java.util.Scanner;
public class Javafirst {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner in = new Scanner(System.in);
  int nummer = in.nextInt();
  int amount = 0;
  int []a = new int[32];
  int i = 0;
  int j = 31;
     int Quantity = 0;
     while(nummer >= 2) {
   a[i] = nummer % 2;
   nummer = nummer / 2;
   i++;
  }
    
     while(j >= 0) {
      
      if( a[j] == 1) {
       break;
      }
      j--;
    }
  Quantity = 32 - j;
  System.out.println(Quantity);
 }
}
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭