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.