Java陣列中將負數加1,正數減1


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

根據題意,我們需要將所有負數加1,並將所有正數減1。

讓我們一起探索這篇文章,看看如何使用Java程式語言實現。

一些示例

示例1

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

更新後的陣列元素為:-30 -17 -13 8 11 15 16 20 55(已排序)

示例2

Suppose the original array is {19, 11, -21, 14, 6, -16, 17, -18, 8}

更新後的陣列元素為:-30 -17 -13 8 11 15 16 20 55(已排序)

示例3

Suppose the original array is {1, 5, -3, 4, -5, 16, 17, -12, -9}

更新後的陣列元素為:-11 -8 -4 -2 0 3 4 15 16(已排序)

演算法

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

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

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

  • 步驟4 − 初始化另一個for迴圈,透過將1加到負陣列元素並從正陣列元素中減去1來列印更新後的陣列元素。

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

語法

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

以下是它的語法:

array.length

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

多種方法

我們提供了多種解決方案。

  • 使用靜態陣列初始化

  • 使用使用者自定義方法

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

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

示例

在這種方法中,陣列元素將在程式中初始化。然後,根據演算法,將所有負數加1,並將所有正數減1。

import java.util.*;
public class Main {

   //main method
   public static void main(String[] args){
   
      //Declare and initialize the array elements
      int[] arr = { 1, 5, -3, 4, -5, 16, 17, -12, -9 };
      
      //sorting array in ascending order
      System.out.print("Original array after sorting them in ascending order: ");
      System.out.print("\n");
      
      //for each loop to print original array elements
      for (int e : arr)
         System.out.print(e + " ");
      System.out.print("\n");
      System.out.print("Array after incrementing negative and decrementing positive numbers by 1: ");
      System.out.print("\n");
      
      //for loop to print array updated elements
      for (int e : arr){
         if(e < 0){
            e = e + 1;
            System.out.print(e + " ");
         } else {
            e = e - 1;
            System.out.print(e + " ");
         }
      }
   }
}

輸出

Original array after sorting them in ascending order: 
1 5 -3 4 -5 16 17 -12 -9 
Array after incrementing negative and decrementing positive numbers by 1: 
0 4 -2 3 -4 15 16 -11 -8

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

示例

在這種方法中,陣列元素將在程式中初始化。然後,透過將陣列作為引數傳遞給使用者自定義方法,並在方法內部根據演算法將所有負數加1,並將所有正數減1。

import java.util.*;
public class Main{

   //main method
   public static void main(String[] args){
   
      //Declare and initialize the array elements
      int[] arr = { 19, 11, -21, 14, 6, -16, 17, -18, 8 };
      
      //calling user defined method
      func(arr);   
   }
   
   //user defined method
   public static void func(int arr[]){
   
      //sorting array in ascending order
      Arrays.sort(arr);
      System.out.print("Original array after sorting them in ascending order: ");
      System.out.print("\n");
      
      //for each loop to print original array elements
      for (int e : arr)
         System.out.print(e + " ");
      System.out.print("\n");
      System.out.print("Array after incrementing negative and decrementing positive numbers by 1: ");
      System.out.print("\n");
      
      //for loop to print array updated elements
      for (int e : arr){
         if(e < 0){
            e = e + 1;
            System.out.print(e + " ");
         } else {
            e = e - 1;
            System.out.print(e + " ");
         }
      }
   }
}

輸出

Original array after sorting them in ascending order: 
-21 -18 -16 6 8 11 14 17 19 
Array after incrementing negative and decrementing positive numbers by 1: 
-20 -17 -15 5 7 10 13 16 18

在這篇文章中,我們探討了使用Java程式語言在陣列中將所有負數加1,並將所有正數減1的不同方法。

更新於:2023年1月5日

1K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

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