Java 如何在数组中添加前缀0s?

Java 如何在数组中添加前缀0s?,java,Java,我正在编写一个Java程序,它将一个数字数组的长度修剪为10。如果数组短于10,则程序应在数组前面加0前缀,直到长度为10 示例: int[]aa=newint[]{123456789}; 如果(aa.长度==10) { 对于(int i=0;i0) { 对于(int i=0;i首先,动态大小的数组让我认为您想要做的是ArrayList,而不是数组。但是,如果出于某种原因,您处理的是不同长度的实际数组,它将是这样的 import java.util.Arrays; public class T

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

示例:

int[]aa=newint[]{123456789};
如果(aa.长度==10)
{
对于(int i=0;i0)
{

对于(int i=0;i首先,动态大小的数组让我认为您想要做的是ArrayList,而不是数组。但是,如果出于某种原因,您处理的是不同长度的实际数组,它将是这样的

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] lessThanTen = new int[] {1,2,3,4};
        int[] newArr = new int[10];

        int numZeros = 10 - lessThanTen.length;

        for (int i = 0; i < 10; i++) {
            if (i < numZeros) {newArr[i] = 0;}
            else {newArr[i] = lessThanTen[i - numZeros];}
        }

        System.out.println(Arrays.toString(newArr));
    }
}
导入java.util.array;
公开课考试{
公共静态void main(字符串[]args){
int[]lessThanTen=新的int[]{1,2,3,4};
int[]newArr=新int[10];
int numZeros=10——小于长度;
对于(int i=0;i<10;i++){
如果(i
首先,
int
的位数不能超过10位,因此我假设您使用的是
longs

  • 要确定任何整数的位数,请使用
    Math.log10()

  • 如果数字,只需编写此程序即可:-

    import java.util.Arrays;
    public class Test
    {
        public static void main(String[] args)
        {
            int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            int newarray[] = new int[10];
            //If it is smaller than 10
            if(arr.length<10)
            {
                for(int i=0;i<(10-arr.length);i++)
                {                       
                    newarray[i] = 0;
                }
                for(int i=(10-arr.length);i<10;i++)
                {
                    newarray[i] = arr[i-(10-arr.length)];
                }
            }
            else
            {
                for(int i=0;i<arr.length;i++)
                {               
                    newarray[i] = arr[i];
                }
            }
            System.out.println(Arrays.toString(newarray));
        }
    }
    
    导入java.util.array;
    公开课考试
    {
    公共静态void main(字符串[]args)
    {
    int arr[]={1,2,3,4,5,6,7,8,9,10};
    int newarray[]=新int[10];
    //如果小于10
    
    如果(arr.length整数不能有10位数字,请改用
    long
    。此外,使用字符串而不是数组来解决问题

    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();
    }
    
    publicstaticvoidmain(字符串[]args){
    Scanner cmdScanner=新的扫描仪(System.in);
    System.out.println(“输入一个数字”);
    long num=cmdScanner.nextLong();
    字符串输入=String.valueOf(num);
    if(input.length()>10){
    System.out.println(input.substring(0,10));
    }否则{
    final int zerosToAppend=10-input.length();
    最终StringBuilder sb=新StringBuilder();
    for(int i=0;i
    请更正我的代码您尝试了什么?您已经知道,如果您有一个数组,则不应使用数组而应使用字符串来解决此问题,请将输入作为字符串,然后使用字符串类中的方法来解决此问题
    0000000123
    0000000012
    0000000001
    1234579911
    1234567890
    
    0000000123
    0000000012
    0000000001
    1234579911
    1234567890
    
    import java.util.Arrays;
    public class Test
    {
        public static void main(String[] args)
        {
            int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            int newarray[] = new int[10];
            //If it is smaller than 10
            if(arr.length<10)
            {
                for(int i=0;i<(10-arr.length);i++)
                {                       
                    newarray[i] = 0;
                }
                for(int i=(10-arr.length);i<10;i++)
                {
                    newarray[i] = arr[i-(10-arr.length)];
                }
            }
            else
            {
                for(int i=0;i<arr.length;i++)
                {               
                    newarray[i] = arr[i];
                }
            }
            System.out.println(Arrays.toString(newarray));
        }
    }
    
    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();
    }