集册 Java实例教程 将数组设置为指定的长度,如有必要,可将开头部分刮除或填充。

将数组设置为指定的长度,如有必要,可将开头部分刮除或填充。

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

531
提示:您可在线编辑运行本教程的实例 - 运行实例,去试试!
将数组设置为指定的长度,如有必要,可将开头部分刮除或填充。


//package com.nowjava;/*from n o w j a v a . c o m*/


public class Main {

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

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

                37.1234, 67.2344, 68.34534, 69.87700 };

        int length = 2;

        System.out.println(java.util.Arrays.toString(setLengthFromEnd(data,

                length)));

    }


    /**

     * Sets an array to the specified length scraping or

     * padding the beginning if necessary.

     */

    public static double[] setLengthFromEnd(double[] data, int length) {

        double[] ans = new double[length];

        int debut;

        if (length - data.length < 0)

            debut = data.length - length;

        else
        /*
        nowjava - 时  代  Java 提供
        */

            debut = 0;

        System.arraycopy(data, debut, ans, -data.length + length + debut,

                data.length - debut);

        return (ans);

    }


    /**

     * Sets an array to the specified length scraping or

     * padding the beginning if necessary.

     */

    public static int[] setLengthFromEnd(int[] data, int length) {

        int[] ans = new int[length];

        int debut;

        if (length - data.length < 0)

            debut = data.length - length;

        else

            debut = 0;

        System.arraycopy(data, debut, ans, -data.length + length + debut,

                data.length - debut);

        return (ans);

    }


    /**

     * 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++) {

            buf.append(array[i]);

            buf.append(
展开阅读全文