JAVA——数组加1(两种方法,用数组[0]、不用数组[0])

数组加一

在这里插入图片描述
首先问题分为两部分!
第一部分,加一后,该数位数不变。另一种,位数加一。
第一种方法:
我们可以先将数组[0]空下来,以备增加的位数使用!0
我们要判断每个位是否需要进位,当位数据为9时,+1后便要进位!
上代码!

import java.util.Scanner;
public class Main{
    
    
 public static void main(String[] args) {
    
    
  Scanner pi = new Scanner(System.in); 
  int n = pi.nextInt();
  int a[] = new int[n+1];
  int x,j,length;
  length=n;
  for(int i=1;i<=n;i++)//将数组的0号留出来,用作进位
  {
    
    
   x=pi.nextInt();
   a[i]=x;
  }
  for(int i=1;i<=n;i++)
  {
    
     if(a[n-i+1]==9&&i==n)
   {
    
     a[n-i+1]=0;
    a[0]=1;
    length++;
    break;
   }
   if(a[n-i+1]==9)//a[n]开始时
   {
    
    
    a[n-i+1]=0;
   }
   else
   {
    
    
    a[n-i+1]++;break;
   }
  }
  for(j=1;j<=length;j++)//打印模块
  {
    
     if(length!=n)
   {
    
    
    if(j!=length)
    System.out.print(a[j-1]+" ");
    else {
    
    
     System.out.print(a[j-1]);
    }
   }
   else
   {
    
    
    if(j!=length)
    {
    
    
     System.out.print(a[j]+" ");
    }
    else
    {
    
    
     System.out.print(a[j]);
    }
   }
  }
 }
}
 

第二种方法:
使用数组[0],当位数+1时,直接将数组[0]的元素赋值为1,然后在数组末尾再增加一个0即可。
我们要判断每个位是否需要进位,当位数据为9时,+1后便要进位!
上代码!

import java.util.Scanner;
public class Main{
    
    
 public static void main(String[] args) {
    
    
  Scanner pi = new Scanner(System.in); 
  int n = pi.nextInt();
  int a[] = new int[n+1];
  int x,j,length;
  length=n;
  for(int i=1;i<=n;i++)//必须使用数组0号!!!
  {
    
     x=pi.nextInt();
   a[i-1]=x;
  }
  for(int i=1;i<=n;i++)
  {
    
     if(a[n-i]==9&&i==n)
   {
    
     a[0]=1;
    a[n]=0;
    length++;
    break;
   }
   if(a[n-i]==9)//a[n]开始时
   {
    
    
    a[n-i]=0;
   }
   else
   {
    
    
    a[n-i]++;break;
   }
  }
  for(j=1;j<=length;j++)
  {
    
     if(j!=length)
   {
    
    
    if(j!=length)
    System.out.print(a[j-1]+" ");
    else {
    
    
     System.out.print(a[j-1]);
    }
   }
   else//无进位!!!
   {
    
    
    if(j!=length)
    System.out.print(a[j-1]+" ");
    else {
    
    
     System.out.print(a[j-1]);
    }
   }
  }
 }
}

记得点赞呀,谢!

猜你喜欢

转载自blog.csdn.net/m0_46625346/article/details/109399165