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

javaserver side programmingprogramming

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

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

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

向您展示一些实例 -

实例-1

int arr[] = { 2, 3, 1, 4, 6 }
在索引-0处,值将为 = 3 * 1 * 4 * 6 = 72
在索引-1处,值将为 = 2 * 1 * 4 * 6 = 48
在索引-2处,值将为 = 2 * 3 * 4 * 6 = 144
在索引-3处,值将为 = 2 * 3 * 1 * 6 = 36
在索引 4 处,值将为 = 2 * 3 * 1 * 4 = 24
因此,更新后的数组元素为 {72, 48, 144, 36, 24}

实例 2

int arr[] = { 1, 3, 2, 4 }
在索引 0 处,值将为 = 3 * 2 * 4 = 24
在索引 1 处,值将为 = 1 * 2 * 4 = 8
在索引 2 处,值将为 = 1 * 3 * 4 = 12
在索引 3 处,值将为 = 1 * 3 * 2 = 6
因此,更新后的数组元素为 {24, 8, 12, 6}

算法

算法 1

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

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

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

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

算法 2

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

步骤 2 - 查找左子数组元素的乘积。要替换的相应元素之前的元素。

步骤 3 - 查找右子数组元素的乘积。要替换的相应元素后面的元素。

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

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

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

语法

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

下面引用它的语法 -

array.length

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

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

Arrays.toString(A)

多种方法 −

我们提供了不同方法的解决方案。

  • 通过将各自的索引元素除以总产品值

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

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

方法 1 − 通过将各自的索引元素除以总产品值

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

示例

import java.util.Arrays;
public class Main {
   public static void main(String args[]) {
        //声明并初始化数组元素
        int arr[] = { 2, 3, 1, 4, 6 };
        //打印数组元素
        System.out.println("数组元素为:"+Arrays.toString(arr));
        //声明一个 int 变量"product"来保存产品值
        int product = 1;
        //迭代数组元素并找到所有元素的乘积
        for(int i=0;i<arr.length;i++) {
        	product*=arr[i];
        }
        //将总产品值除以要替换的数组元素
        for(int i=0;i<arr.length;i++) {
        	arr[i] = product/arr[i];
        }
        //打印新数组
        System.out.println("更新后的数组:"+Arrays.toString(arr));
   }
}

输出

数组元素为:[2, 3, 1, 4, 6]
更新后的数组:[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));
   }
}

输出

数组元素为:[4, 2, 3, 1]
更新后的数组:[6, 12, 8, 24]

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


相关文章