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("完成");
}
}
求教大佬,为什么数据大了运行就没有结果。。。。。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
threenewbee 2018-09-29 16:13关注代码就不仔细看了,你算法都不对。
do
{
i++ ;
num3=num1/num2;
}
while(num3>=num2);
这里,如果num1/num2“不幸”>=num2,那么循环无论多少次,都不会改变num3,导致死循环。任意进制的代码网上有很多,我随便找一个给你 https://www.cnblogs.com/bgl0/p/9538181.html 自己先看下吧。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报