public class testInterface {
public static void main(String arg[])
{
ArrayList<Integer> arr = new ArrayList<Integer>();
Scanner in = new Scanner(System.in);
int Decimal;
System.out.println("请输入十进制数字:");
Decimal = in.nextInt();
arr.add(0, 0);
for(int i=0;i<=Decimal-1;i++)
{
//末尾加1
arr.set(0, arr.get(0)+1);
//System.out.println("循环i="+ (i+1));
//每次执行,循环进位
for(int j=0;j < arr.size();j++)
{
//当前位置数超过1
if(arr.get(j) > 1)
{
//当前置0
arr.set(j, 0);
//System.out.println(" "+j+"位超过1置0");
//下一位家1
//System.out.println("j+1=" + (j+1) +"arr.size()="+arr.size());
//这一位后面没有位数
if(j+1 >= arr.size())
{
arr.add(1);
//System.out.println(" 没有下一位增加一位" );
}
else
{
arr.set(j+1, arr.get(j+1)+1 );
//System.out.println(" 有下一位置1");
}
}
}
/* System.out.print("输出:"); for(int k=0;k <arr.size();k++) { System.out.print(arr.get(k)+" "); } System.out.println("结束:"); System.out.println(""); */
}
//逆着循环输出
for(int i=arr.size()-1;i>=0;i--)
{
System.out.print(arr.get(i));
}
}
}
很基础,写在这里好找。