撸一个简单java进制转换器遇到的问题

得不到结果,但我自己检查了好几遍却不知道哪里出现问题,求助!

 package hello;

import java.util.Scanner;

public class Main{
    static int[] Ten_To_N(int x,int n){
        int []number=new int[10];
        int rest=x;
       stack Stack=new stack();
        while(rest!=0){
            Stack.pop(number, rest, Stack.Top++);
            rest=rest/n;
        }
        return number;
    }
    static void show(){
        System.out.println("请输入您的十进制数字:");
        Scanner in=new Scanner(System.in);
        int x=in.nextInt();
        System.out.println("输入您想要转换的进制数:");
        int n=in.nextInt();
        int []number=Ten_To_N(x,n);
        String number2="0123456789ABCDEFGHIGKLMNOPQRSTUVWXYZ";
        stack Stack=new stack();
        System.out.println("转换后的数字为:");
        for(int i=Stack.Top-1;i>0;i--){
            System.out.print(number2.charAt(number[i]));
        }
    }
    public static void main(String agrs[]){
        show();
    }

}
class stack{
    static int Top=1;
    void pop(int []number,int x,int top){

        number=extend(top,number);
        number[top]=x;

    }
    boolean IfFull(int top,int []number){
        if(number[top]==-1)
        {
           return false;            
        }
        else return true;
    }
    int[] extend(int top,int[]number)
    {
        if(!IfFull(top,number))
        {
         return number;
        }
        else 
        {
            int [] number2=new int[number.length*2];
            for(int i=0;i<number.length;i++)
            {
                number2[i]=number[i];
            }
            return number2;
        }

    }
    int pow(int []number,int top){
        number[top--]=-1;
        return top;
    }

}

有两种程序员
一种把代码写得很简单,而很难挑出错误。
一种把代码写得很复杂,而很难找出错误。

你说你就搞个进制转换,还大费周章搞了个堆栈,然后又说看不出哪里错,你不是自找么。

兄弟,装过头了不是。你这是论一个程序员的自我挑战极限吧

emmm前两个回答都在说栈之类的东西,我说一下 ,这个东西是一个作业,然后要求就是这样,自己动手撸一个出来。

java 的进制转换可以不必写得这么复杂,你想转成几进制java都有封装好的方法

for循环不是这么写的,你如果想使用numers[i]这个数组的自减方法,你该这么写,for(int i=numbers.length-1;i>=0;i--);这样你就可以操作数组的下标进行for循环输出了