集册 Java实例教程 用零填充以获得所需的长度;原始数组的be位于指定位置。

用零填充以获得所需的长度;原始数组的be位于指定位置。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

397
用零填充以获得所需的长度;原始数组的be位于指定位置。


//package com.nowjava;


public class Main {/*来 自 时代Java公众号*/

    public static void main(String[] argv) throws Exception {

        int n0 = 2;

        int pos = 2;

        double[] v = new double[] { 34.45, 35.45, 36.67, 37.78, 37.0000,

                37.1234, 67.2344, 68.34534, 69.87700 };

        System.out.println(java.util.Arrays.toString(padding(n0, pos, v)));

    }


    /**

     * Fills in with zero to get to the desired length;

     * original array with be at the specified position.

     *

     * @param n0  length of the new array.

     * @param pos position of the old array.

     */

    public static double[] padding(int n0, int pos, double[] v) {

        if ((v.length + pos > n0) || (pos < 0)) {//N o w  J a v a  .   c o m 提 供

            throw new IllegalArgumentException(

                    "Array is to long for this : " + n0 + ", " + pos + ", "

                            + v.length);

        }

        double[] w = new double[n0];

        System.arraycopy(v, 0, w, pos, v.length);

        return (w);

    }


    /**

     * Fills in with zeroes to get to the specified length;

     * original array with be at the specified position

     *

     * @param n0  length of the new array.

     * @param pos position of the old array.

     */

    public static int[] padding(int n0, int pos, int[] v) {

        if ((v.length + pos > n0) || (pos < 0)) {

            throw new IllegalArgumentException(

                    "The array is too long for this : " + n0 + ", " + pos

                            + ", " + v.length);

        }

        int[] w = new int[n0];

        System.arraycopy(v, 0, w, pos, v.length);

        return (w);

    }


    /**

     * Returns a comma delimited string representing the value of the array.

     */

    public static String toString(double[] array) {


        StringBuffer buf = new StringBuffer(array.length);

        int i;

        for (i = 0; i < array.length - 1; i++) {

            buf.append(array[i]);

            buf.append(',');

        }

        buf.append(array[i]);

        return buf.toString();

    }


    /**

     * Returns a comma delimited string representing the value of the array.

     */

    public static String toString(double[][] array) {

        StringBuffer buf = new StringBuffer();

        for (int k = 0; k < array.length; k++) {

            buf.append(toString(array[k]));

            buf.append(System.getProperty("line.separator"));

        }

        return buf.toString();

    }


    /**

     * Returns a comma delimited string representing the value of the array.

     */

    public static String toString(int[] array) {

        StringBuffer buf = new StringBuffer(array.length);

        int i;

        for (i = 0; i < array.length - 1; i++) {

            
展开阅读全文