有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java整数是否添加前导零?

我需要将前导零添加到数组中以供数学使用。 具体来说,我正在做一些东西来添加两个大数字。数字存储为整数数组,其中数组的每个元素为5位数字。一个例子是 53498 93784 45891 45982 48933 58947 我需要补充一点,比如, 23584 42389 32479 34289 39281 48237 要添加它们,我将取两者的最后5位数字,然后将它们相加58947+48237 这是107184。然后我将进位值设置为1,然后减去100000

这就是问题所在: 它将int设置为7184,然后总和表示。。。882157184而不是8821507184,这是一个(非常)不正确的总数。 那么如何让我的Sum int数组表示为88215 07184呢? 如果不可能,请列出获得相同结果的另一种方法,可能是字符串而不是int数组? 如果可能,请尝试找到一种方法,使前导0具有int值


共 (3) 个答案

  1. # 2 楼答案

    中没有前导零(当然,除非你说的是八进制文字)。在内部,int是32位,就是这样

    你可能需要的是格式化。要处理输出,可以尝试String.format("%05d", x);,有关详细信息,请参见javadoc

  2. # 3 楼答案

    你可以这样开始:

    class FiveDigitInteger {
      private static final DecimalFormat format = new DecimalFormat("00000");
      final int i;
    
      public FiveDigitInteger ( int i ) {
        this.i = i;
      }
    
      public int getInteger () {
        return i;
      }
    
      public String toString () {
        return format.format(i);
      }
    }
    

    并添加各种math方法,例如:

      public FiveDigitInteger add ( int j ) {
        return new FiveDigitInteger ( i + j );
      }
    

    等等