首页 > 解决方案 > 如何在数组中添加前缀 0?

问题描述

我正在编写一个 Java 程序,它将一个数字数组修剪为长度 10。如果数组短于 10,那么程序应该在数组前面加上 0,直到它的长度为 10。

例子:

     1234567890 :: 1234567890

     12345678990:: 1234567899  

     1234       :: 0000001234
    int[] aa= new int[]{123456789};
    if(aa.length==10)
    {
        for (int i=0;i<=aa.length;i++)
        {
             system.out.println(aa[i]);
        } 
    }
    if(aa.length>0)
    {
        for(int i=0;i<=10;i++)
        {
            system.out.println(aa[i]);
        }
    }
    if(aa.length<10)
    {
        for(int i=0;i<=10;i++)
        {
            system.out.println(aa[i]);
        }
    }

我的代码有问题吗?

标签: java

解决方案


整数不能有 10 位,请使用 along代替。此外,使用字符串而不是数组来解决问题。

public static void main(String[] args) {
    Scanner cmdScanner = new Scanner(System.in);
    System.out.println("Enter a number");
    long num = cmdScanner.nextLong();
    String input = String.valueOf(num);
    if (input.length() > 10) {
        System.out.println(input.substring(0, 10));
    } else {
        final int zerosToAppend = 10 - input.length();
        final StringBuilder sb = new StringBuilder();
        for (int i = 0; i < zerosToAppend; i++) {
            sb.append("0");
        }
        System.out.println(sb.append(input));
    }
    cmdScanner.close();
}

推荐阅读