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中将数组元素替换为其他数组元素的乘积。