首页 > 文章列表 > JAVA程序将整数数组的元素替换为其他元素的乘积

JAVA程序将整数数组的元素替换为其他元素的乘积

乘积 整数数组 替换元素
339 2023-08-30

整数数组是指所有元素都是整数类型的数组。它也被称为整数数组。

As per the problem statement we have to create an Integer array and display the array elements where all the array elements are the product of other elements of the array.

In this article, we will see how to replace array elements by the product of other array elements by using Java programming language.

To show you some instances −

Instance-1

int arr[] = { 2, 3, 1, 4, 6 }
At Index-0 value will be = 3 * 1 * 4 * 6 = 72
At Index-1 value will be = 2 * 1 * 4 * 6 = 48
At Index-2 value will be = 2 * 3 * 4 * 6 = 144
At Index-3 value will be = 2 * 3 * 1 * 6 = 36
At Index-4 value will be = 2 * 3 * 1 * 4 = 24
So, the updated array elements are {72, 48, 144, 36, 24}

Instance-2

int arr[] = { 1, 3, 2, 4 }
At Index-0 value will be = 3 * 2 * 4 = 24
At Index-1 value will be = 1 * 2 * 4 = 8
At Index-2 value will be = 1 * 3 * 4 = 12
At Index-3 value will be = 1 * 3 * 2 = 6
So, the updated array elements are {24, 8, 12, 6}

Algorithm

Algorithm-1

Step-1 − Declare and initialize an integer array.

第二步 - 找到所有数组元素的乘积。

Step-3 − Divide the product value with the value of the respective index and replace the result. Continue this step till you reach the last array element.

步骤-4 − 打印更新后的数组。

Algorithm-2

Step-1 − Declare and initialize an integer array.

Step-2 − Find the product of left sub array elements. The elements before the respective element to be replaced.

步骤-3 − 找到右子数组元素的乘积。在要替换的元素之后的元素。

步骤-4 − 找到左子数组和右子数组的乘积值的和,并替换为结果值。

Step-5 − Continue Step-2, 3 and 4 till you reach the last array element.

Step-6 − 打印更新后的数组。

Syntax

To get the length of an array (number of elements in that array), there is an inbuilt property of array i.e length.

Below refers to the syntax of it

array.length

where, ‘array’ refers to the array reference.

To get the String representation of the respective array we can use the toString() method of Arrays class in Java.

Arrays.toString(A)

多种方法−

We have provided the solution in different approaches.

  • 通过将各自的指数元素除以总产品值

  • 通过找到左子数组和右子数组的产品值

让我们逐个查看程序及其输出。

Approach-1 − By Dividing the respective Index Element with the Total Product Value

在这种方法中,我们将通过将总产品值除以要替换的相应元素来替换数组元素。

Example

import java.util.Arrays;
public class Main {
   public static void main(String args[]) {
      //Declare and initialize the array elements
      int arr[] = { 2, 3, 1, 4, 6 };
      // Print the array elements
      System.out.println("Array elements are: "+Arrays.toString(arr));
      //Declare an int variable 'product' to hold the product value
      int product = 1;
      //iterate the array elements and find the product of all elements
      for(int i=0;i<arr.length;i++) {
         product*=arr[i];
      }
      //Divide the total product value with the array element to be replaced
      for(int i=0;i<arr.length;i++) {
         arr[i] = product/arr[i];
      }
      //print the new array
      System.out.println("Updated array: "+Arrays.toString(arr));
   }
}

Output

Array elements are: [2, 3, 1, 4, 6]
Updated array: [72, 48, 144, 36, 24]

Approach-2 − By Finding the Product Values of Left and Right Sub Array

In this approach, we will replace the array element finding the sum of product of left subarray elements and product of right sub array elements.

Example

import java.util.Arrays;
public class Main{
   public static void main(String args[]) {
      int arr[] = {4,2,3,1};
      int size=arr.length;
      int temp[]= new int[size];
      int sum=1;
      System.out.println("Array elements are: "+Arrays.toString(arr));
      for(int index=0; index<arr.length; index++) {
         int leftProduct=1;
         int rightProduct=1;
         int i=0;
         if(i<index) {
            for(i=0;i<index;i++) {
               leftProduct*=arr[i];
            } 
         }
         for(i=index+1;i<arr.length;i++){
            rightProduct*=arr[i];
         }
         sum=leftProduct*rightProduct;
         temp[index]=sum;
      }
      arr=temp;
      System.out.println("Updated array: "+Arrays.toString(arr));
   }
}

Output

Array elements are: [4, 2, 3, 1]
Updated array: [6, 12, 8, 24]

在本文中,我们探讨了如何使用不同的方法在Java中将数组元素替换为其他数组元素的乘积。