集册 Java实例教程 将一个双精度数组和一个整数数组元素相乘

将一个双精度数组和一个整数数组元素相乘

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

505
提示:您可在线编辑运行本教程的实例 - 运行实例,去试试!
将double数组和整数array逐元素相乘。
/**来自 n o w j a v a . c o m - 时代Java**/


//package com.nowjava;


public class Main {

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

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

                37.1234, 67.2344, 68.34534, 69.87700 };

        int[] b = new int[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };

        System.out.println(java.util.Arrays.toString(multiplyElementwise(a,

                b)));

    }


    /**

     * Multiplies an array of doubles and an array of integers element-wise.

     *

     * @param a   Array of doubles.

     * @param b   Array of integers.

     * @return   Element-wise product of the arrays.

     * @throws ArithmeticException   Throws an exception when the two vectors are

     * not of the same size.

     *//*时 代 J a v a 公 众 号 提供*/

    public static double[] multiplyElementwise(double[] a, int[] b)

            throws ArithmeticException {


        if (a.length != b.length) {

            throw new ArithmeticException();

        } else {

            double[] result = new double[a.length];

            for (int i = 0; i < a.length; i++) {

                result[i] = a[i] * b[i];

            }

            return result;

        }


    }


    /**

     * Multiplies two arrays of doubles element-wise.

     *

     * @param a   Array of doubles.

     * @param b   Array of doubles.

     * @return   Element-wise product of the two arrays.

     * @throws ArithmeticException   Throws an exception when the two vectors are

     * not of the same size.

     */

    public static double[] multiplyElementwise(double[] a, double[] b)

            throws ArithmeticException {


        if (a.length != b.length) {

            throw new ArithmeticException();

        } else {

            double[] result = new double[a.length];

            for (int i = 0; i < a.length; i++) {

                result[i] = a[i] * b[i];

            }

            return result;

        }


    }


    /**

     * Multiplies two arrays of integers element-wise.

     *

     * @param a   Array of integers.

     * @param b   Array of integers.

     * @return   Element-wise product of the two arrays.

     * @throws ArithmeticException   Throws an exception when the two vectors are

     * not of the same size.

     */

    public static int[] multiplyElementwise(int[] a, int[] b)

            throws ArithmeticException {


        if (a.length != b.length) {

            throw new ArithmeticException();

        } else {

            int[] result = new int[a.length];

            for (int i = 0; i < a.length; i++) {

                result[i] = a[i] * b[i];

            }

            return result;

        }


    }


    /**

     * Multiplies two arrays of floats element-wise.

     *

     * @param a   Array of floats.

     * @param b   Array of floats.

     * @return   Element-wise product of the two arrays.

     * @throws ArithmeticException   Throws an exception when the two vectors are

     * not of the same size.

     */

    public static float[] multiplyElementwise(float[] a, float[] b)

            throws ArithmeticException {


        if (a.length != b.length) {

            throw new ArithmeticException();

        } else {

            float[] result = new float[a.length];

            for (int i = 0; i < a.length; i++) {

                result[i] = a[i] * b[i];

            }

            return result;

        }


    }


    /**

     * Multiplies two arrays of longs element-wise.

     *

     * @param a   Array of longs.

     * @param b   Array of longs.

     * @return   Element-wise product of the two arrays.

     * @throws ArithmeticException   Throws an exception when the two vectors are

     * not of the same size.

     */

    public static long[] multiplyElementwise(long[] a, long[] b)

            throws ArithmeticException {


        if (a.length != b.length) {

            throw new ArithmeticException();

        } else {

            long[] result = new long[a.length];

            for (int i = 0; i < a.length; i++) {

                result[i] = a[i] * b[i];

            }

            return result;

        }


    }


    /**

     * Multiplies two arrays of bytes element-wise.

     *

     * @param a   Array of bytes.

     * @param b   Array of bytes.

     * @return   Element-wise product of the two arrays.

     * @throws ArithmeticException   Throws an exception when the two vectors are

     * not of the same size.

     */

    public static byte[] multiplyElementwise(byte[] a, byte[] b)

            throws ArithmeticException {


        if (a.length != b.length) {

            throw new ArithmeticException();

        } else {

            byte[] result = new byte[a.length];

            for (int i = 0; i < a.length; i++) {

                result[i] = (byte) (a[i] * b[i]);

            }

            return result;

        }


    }


    /**

     * Multiplies two matrices of doubles element-wise.

     *

     * @param a   Matrix of doubles.

     * @param b   Matrix of doubles.

     * @return   Element-wise product of the two matrices.

     * @throws ArithmeticException   Throws an exception when the two matrices are

     * not of the same size.

     */

    public static double[][] multiplyElementwise(double[][] a, double[][] b)

            throws ArithmeticException {


        if (a.length != b.length || a[0].length != b[0].length) {

            throw new ArithmeticException();

        } else {

            double[][] result = new double[a.length][a[0].length];

            for (int i = 0; i < a.length; i++) {

                for (int j = 0; j < a[0].length; j++) {

                    result[i][j] = a[i][j] * b[i][j];

                }

            }

            return result;

        }


    }


    /**

     * Multiplies two matrices of integers element-wise.

     *

     * @param a   Matrix of integers.

     * @param b   Matrix of integers.

     * @return   Element-wise product of the two matrices.

     * @throws ArithmeticException   Throws an exception when the two matrices are

     * not of the same size.

     */

    public static int[][] multiplyElementwise(int[][] a, int[][] b)

            throws ArithmeticException {


        if (a.length != b.length || a[0].length != b[0].length) {

            throw new ArithmeticException();

        } else {

            int[][] result = new int[a.length][a[0].length];

            for (int i = 0; i < a.length; i++) {

                for (int j = 0; j < a[0].length; j++) {

                    result[i][j] = a[i][j] * b[i][j];

                }

            }

            return result;

        }


    }


    /**

     * Multiplies two matrices of floats element-wise.

     *

     * @param a   Matrix of floats.

     * @param b   Matrix of floats.

     * @return   Element-wise product of the two matrices.

     * @throws ArithmeticException   Throws an exception when the two matrices are

     * not of the same size.

     */

    public static float[][] multiplyElementwise(float[][] a, float[][] b)

            throws ArithmeticException {


        if (a.length != b.length || a[0].length != b[0].length) {

            throw new ArithmeticException();

        } else {

            float[][] result = new float[a.length][a[0].length];

            for (int i = 0; i < a.length; i++) {

                for (int j = 0; j < a[0].length; j++) {

                    result[i][j] = a[i][j] * b[i][j];

                }

            }

            return result;

        }


    }


    /**

     * Multiplies two matrices of longs element-wise.

     *

     * @param a   Matrix of longs.

     * @param b   Matrix of longs.

     * @return   Element-wise product of the two matrices.

     * @throws ArithmeticException   Throws an exception when the two matrices are

     * not of the same size.

     */

    public static long[][] multiplyElementwise(long[][] a, 
展开阅读全文