方法:在字符数组上模拟数字加法。
//打印从1到最大的n位数
public void function(int n)
{
if(n<1)
return;
char[]num=new char[n];
Arrays.fill(num, '0');//填充为'0';
while(isNum(num))
{
print(num);
}
}
//模拟加法;
public boolean isNum(char[] num)
{
for(int i=num.length-1;i>=0;i--)
{
if(num[i]!='9')
{
num[i]++;
break;
}
else
{
num[i]='0';
if(i == 0)
{
return false;
}
}
}
return true;
}
//有效数字前的‘0’不打印;
public void print(char[]num)
{
int index=0;
for(;num[index] == '0';index++)
{}
System.out.println(new String(num,index,num.length-index));//字符数组字数组转化为字符串;
}