package com.syj.homework;
import java.util.Arrays;
public class homework03 {
public static void main(String[] args) {
int[] arr1 = {4, 3, 2, 1};
int[] arr2 = {4, 3, 2, 9};
int[] arr3 = {9, 9, 9, 9};
System.out.println(Arrays.toString(arr1) + " 实现+1后: " + Arrays.toString(Add1(arr1)));
System.out.println(Arrays.toString(arr2) + " 实现+1后: " + Arrays.toString(Add1(arr2)));
System.out.println(Arrays.toString(arr3) + " 实现+1后: " + Arrays.toString(Add1(arr3)));
}
/*定义一个方法
1.数组中每个元素的取值范围0-9
2.
当arr[i] != 9 ;则仅需 arr[i] = arr[i] + 1 ;
当arr[i] = 9时,实现+1后,
第一步 arr[i] = 0,
第二步arr[i+1] = arr[i+1] + 1
考虑:
当arr[i] = 9,即每位都是9,则都需要向前进位,此时需要生成一个新的数组 newarr[]
*/
public static int[] Add1(int[] arr) {
//1.判断arr[i] = 9 ;
for (int i = arr.length - 1; i >= 0; i--) {
if (arr[i] != 9) {
arr[i] = arr[i] + 1;
break;
} else {
arr[i] = 0;
}
}
//2.处理进位 当循环结束,若arr[0] = 0,则说明最高位实现了进位 ;
while (arr[0] == 0) {
//建立新的数组
int newarr[] = new int[arr.length + 1];
//赋值
newarr[0] = 1;
return newarr;
}
return arr;
}
}
数组小练习
最新推荐文章于 2022-11-10 22:36:55 发布