JAVA 程序用其他元素的乘积替换整数数组的元素
整数数组是指所有元素均为整数类型的数组。它也称为整数数组。
根据问题陈述,我们必须创建一个整数数组并显示数组元素,其中所有数组元素都是数组中其他元素的乘积。
在本文中,我们将了解如何使用 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 中将数组元素替换为其他数组元素的乘积。