Java 对数组中的负数增加1,正数减少1

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的不同方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程