求教大佬,为什么数据大了运行就没有结果。。。。。

public class TryTwice {
//进制转换(十转为x)
public static void main(String[] args)
{
int num1=6;//原数 当变成10就运行不出结果。。。。。。
int num2=4;//所求进制
int num3;
int num4;
int i=1;//位数
if(num1 {
System.out.println(""+num1);
}
else {
do
{
i++ ;
num3=num1/num2;
}
while(num3>=num2);
System.out.println(""+i);
for(int p=1;p<=i;p++)
{num4=num1%num2;
System.out.print(""+num4);
num1=num1/num2;
}
}
System.out.println("完成");
}
}

代码就不仔细看了,你算法都不对。
do
{
i++ ;
num3=num1/num2;
}
while(num3>=num2);
这里,如果num1/num2“不幸”>=num2,那么循环无论多少次,都不会改变num3,导致死循环。

任意进制的代码网上有很多,我随便找一个给你
https://www.cnblogs.com/bgl0/p/9538181.html
自己先看下吧。