Java中將負數陣列元素排在正數元素之前


在Java中,陣列是一個物件。它是一種非原始資料型別,用於儲存相同資料型別的多個值。

根據題目要求,我們需要重新排列陣列中的所有元素,使得負數元素排在正數元素之前。

如果一個數字大於0,則稱為正數;如果小於0,則稱為負數。

注意 − 陣列必須是整數陣列。

讓我們透過這篇文章來了解如何使用Java程式語言實現這個功能。

一些示例

示例1

Suppose the original array is {1, 2, -3, -4, 5, -6, 7, -8, 9}.

重新排列陣列後,結果將是:

-8 -6 -4 -3 1 2 5 7 9

示例2

Suppose the original array is {8, 2, -6, 4, -11, 15, 27, -8, -9}

重新排列陣列後,結果將是:

-11 -9 -8 -6 2 4 8 15 27

示例3

Suppose the original array is {12, 21, -31, -14, 56, 16, 17, -18, 9}

重新排列陣列後,結果將是:

-31 -18 -14 9 12 16 17 21 56

演算法

  • 步驟1 − 宣告並初始化一個整數陣列。

  • 步驟2 − 將陣列按升序排序。

  • 步驟3 − 初始化迴圈以列印陣列元素。

  • 步驟4 − 列印陣列的元素。

語法

要獲取陣列的長度(陣列中元素的數量),陣列有一個內建屬性,即length

以下是它的語法:

array.length

其中,“array”指的是陣列引用。

多種方法

我們提供了多種不同的解決方法。

  • 使用靜態陣列初始化。

  • 使用使用者自定義方法。

讓我們逐一檢視程式及其輸出。

方法1:使用靜態陣列初始化

示例

在這種方法中,陣列元素將在程式中初始化。然後,根據演算法,重新排列陣列中的所有元素,使得負數元素排在正數元素之前。

import java.util.*;
public class Main {
   //main method
   public static void main(String[] args){
   
      //Declare and initialize the array elements
      int[] arr = { 12, 21, -31, -14, 56, 16, 17, -18, 9 };
      System.out.println("Original array: \n"+Arrays.toString(arr));
      
      //sorting array in ascending order
      Arrays.sort(arr);
      System.out.println("Updated array: ");
      
      //for each loop to print array elements
      for (int e : arr)
         System.out.print(e + " ");
   }
}

輸出

Original array: 
[12, 21, -31, -14, 56, 16, 17, -18, 9]
Updated array: 
-31 -18 -14 9 12 16 17 21 56

方法2:使用使用者自定義方法

示例

在這種方法中,陣列元素將在程式中初始化。然後,呼叫一個使用者自定義方法,並將陣列作為引數傳遞給該方法。在方法內部,根據演算法,重新排列陣列中的所有元素,使得負數元素排在正數元素之前。

import java.util.*;
public class Main{
   //main method
   public static void main(String[] args){
   
      //Declare and initialize the array elements
      int[] arr = { 8, 2, -6, 4, -11, 15, 27, -8, -9 };
      System.out.println("Original array: \n"+Arrays.toString(arr));
      
      //call a user defined method 
      negative_first(arr);
   }
   //user defined method 
   public static void negative_first(int[] arr){
   
      //sorting array in ascending order
      Arrays.sort(arr);
      System.out.println("Updated array: ");
      
      //for loop to print array elements
      for (int e : arr)
         System.out.print(e + " ");
   }
}

輸出

Original array: 
[8, 2, -6, 4, -11, 15, 27, -8, -9]
Updated array: 
-11 -9 -8 -6 2 4 8 15 27

在這篇文章中,我們探討了如何使用Java程式語言重新排列陣列中的所有元素,使得負數元素排在正數元素之前。

更新於:2023年1月5日

瀏覽量:903

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.