方法:在字符数组上模拟数字加法。
//打印从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));//字符数组字数组转化为字符串;
}
本文介绍了一种使用字符数组模拟大整数加法的方法,通过不断递增一个初始化为全0的大整数来打印从1到最大的n位数的所有数字。文章详细展示了如何处理进位、何时停止递增等关键细节。
8398

被折叠的 条评论
为什么被折叠?



