得不到结果,但我自己检查了好几遍却不知道哪里出现问题,求助!
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;
}
}