输入数字n,按顺序打印从1到最大的n位十进制数
import java.util.Scanner;
public class _12Print1ToN {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int [] inputarr=new int[N+1];
_12Print1ToN tmp=new _12Print1ToN();
while(true){
inputarr =tmp.count(inputarr, 0);
if(inputarr[N]==1){
break;
}
tmp.printNumber(inputarr);
}
}
//只关心当前位和紧邻的高一位,若当前位不进位,则简单加1即可;若当前位需要进位,则先把当前位置0,然后给高一位加1;
int [] count(int [] array,int n) {
if(array[n]<9){
array[n]=array[n]+1;
}else{
array[n]=0;
count(array,n+1);
}
return array;
}
void printNumber(int[] array){
for (int i = array.length-1; i >=0; i--) {
if(array[i]!=0){
for (int j = i; j >=0; j--) {
System.out.print(array[j]);
}
break;
}
}
System.out.println();
}
}