Java程序:用其他元素的乘积替换整数数组的元素


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

根据题意,我们必须创建一个整数数组,并显示该数组的元素,其中所有数组元素都是数组其他元素的乘积。

在本文中,我们将学习如何使用Java编程语言用其他数组元素的乘积替换数组元素。

举几个例子:

示例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}

示例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}

算法

算法1

步骤1 - 声明并初始化一个整数数组。

步骤2 - 找到所有数组元素的乘积。

步骤3 - 将乘积值除以相应索引的值并替换结果。继续此步骤,直到到达最后一个数组元素。

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

算法2

步骤1 - 声明并初始化一个整数数组。

步骤2 - 找到左侧子数组元素的乘积。即要替换的元素之前的元素。

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

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

步骤5 - 继续步骤2、3和4,直到到达最后一个数组元素。

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

语法

要获取数组的长度(数组中的元素个数),数组有一个内置属性,即length

以下是其语法:

array.length

其中,“array”指的是数组引用。

要获取相应数组的字符串表示形式,我们可以在Java中使用Arrays类的toString()方法。

Arrays.toString(A)

多种方法:

我们提供了不同的方法来解决这个问题。

  • 通过将相应索引元素除以总乘积值

  • 通过查找左侧和右侧子数组的乘积值

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

方法1 - 通过将相应索引元素除以总乘积值

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

示例

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));
   }
}

输出

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

方法2 - 通过查找左侧和右侧子数组的乘积值

在这种方法中,我们将通过查找左侧子数组元素的乘积和右侧子数组元素的乘积的和来替换数组元素。

示例

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));
   }
}

输出

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

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

更新于:2022年12月30日

4K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.