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