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.