Java examples for Collection Framework:Array Algorithm
Divides the values in the two arrays of integers element-wise.
//package com.java2s; public class Main { public static void main(String[] argv) throws Exception { int[] a = new int[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 }; int[] b = new int[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 }; System.out.println(java.util.Arrays .toString(divideElementwise(a, b))); }//from w w w.jav a 2 s.c o m /** * Divides the values in the two arrays of integers element-wise. * * @param a Array of integer dividends. * @param b Array of integer divisors. * @return Result of element-wise division of arrays. * @throws ArithmeticException Throws exception when the arrays differ in * length. */ public static double[] divideElementwise(int[] 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] = (double) a[i] / b[i]; } return result; } } /** * Divides the values in the two arrays of doubles element-wise. * * @param a Array of double dividends. * @param b Array of double divisors. * @return Result of element-wise division of arrays. * @throws ArithmeticException Throws exception when the arrays differ in * length. */ public static double[] divideElementwise(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; } } /** * Divides the values in the two arrays of longs element-wise. * * @param a Array of long dividends. * @param b Array of long divisors. * @return Result of element-wise division of arrays. * @throws ArithmeticException Throws exception when the arrays differ in * length. */ public static double[] divideElementwise(long[] a, long[] 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] = (double) a[i] / b[i]; } return result; } } /** * Divides the values in the two arrays of floats element-wise. * * @param a Array of float dividends. * @param b Array of float divisors. * @return Result of element-wise division of arrays. * @throws ArithmeticException Throws exception when the arrays differ in * length. */ public static float[] divideElementwise(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; } } /** * Divides the values in the two arrays of bytes element-wise. * * @param a Array of byte dividends. * @param b Array of byte divisors. * @return Result of element-wise division of arrays. * @throws ArithmeticException Throws exception when the arrays differ in * length. */ public static float[] divideElementwise(byte[] a, byte[] 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] = (float) a[i] / b[i]; } return result; } } /** * Divides the values in the two matrices element-wise. * * @param a Matrix of double dividends. * @param b Matrix of double divisors. * @return Result of element-wise division of the two matrices. * @throws ArithmeticException Throws an exception when the two matrices are * not of the same size. */ public static double[][] divideElementwise(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; } } /** * Divides the values in the two matrices element-wise. * * @param a Matrix of integer dividends. * @param b Matrix of integer divisors. * @return Result of element-wise division of the two matrices. * @throws ArithmeticException Throws an exception when the two matrices are * not of the same size. */ public static double[][] divideElementwise(int[][] a, int[][] 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] = (double) a[i][j] / b[i][j]; } } return result; } } /** * Divides the values in the two matrices element-wise. * * @param a Matrix of float dividends. * @param b Matrix of float divisors. * @return Result of element-wise division of the two matrices. * @throws ArithmeticException Throws an exception when the two matrices are * not of the same size. */ public static float[][] divideElementwise(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; } } /** * Divides the values in the two matrices element-wise. * * @param a Matrix of double dividends. * @param b Matrix of double divisors. * @return Result of element-wise division of the two matrices. * @throws ArithmeticException Throws an exception when the two matrices are * not of the same size. */ public static double[][] divideElementwise(long[][] a, long[][] 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] = (double) a[i][j] / b[i][j]; } } return result; } } /** * Divides the values in the two matrices element-wise. * * @param a Matrix of float dividends. * @param b Matrix of float divisors. * @return Result of element-wise division of the two matrices. * @throws ArithmeticException Throws an exception when the two matrices are * not of the same size. */ public static float[][] divideElementwise(byte[][] a, byte[][] 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] = (float) a[i][j] / b[i][j]; } } return result; } } /** * Divides the values in the two matrices element-wise. * * @param a Matrix of double dividends. * @param b Matrix of double divisors. * @return Result of element-wise division of the two matrices. * @throws ArithmeticException Throws an exception when the two matrices are * not of the same size. */ public static double[][] divideElementwise(double[][] a, int[][] 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; } } }