Java 乌拉姆假设-小错误
我正在做的一个程序有一个小问题。除了一小部分,一切都很顺利Java 乌拉姆假设-小错误,java,Java,我正在做的一个程序有一个小问题。除了一小部分,一切都很顺利 public class Prog230b { public static void main (String args[]) { for(int i = 1; i <= 25; i++) // { int num = i; System.out.print("\n" + num + ":"); while(nu
public class Prog230b
{
public static void main (String args[])
{
for(int i = 1; i <= 25; i++) //
{
int num = i;
System.out.print("\n" + num + ":");
while(num != 1)
{
if(num % 2 == 0)
num /= 2;
else
num = 3 * num + 1;
System.out.print(EasyFormat.format(num,4,0));
}
}
}
}
问题是它不会为1打印任何内容。我知道这是因为我有while(num!=1),但我不确定该放什么,这不会导致无限循环。使用do while循环。这样,当num以1开始时,代码将至少执行一次
do
{
if(num % 2 == 0)
num /= 2;
else
num = 3 * num + 1;
System.out.print(EasyFormat.format(num,4,0));
} while (num != 1);
你不能在第一个循环的
之外有一个单独的东西吗?你的程序的目标/目的是什么?你想在这里干什么?干得很好!谢谢你,朋友。
do
{
if(num % 2 == 0)
num /= 2;
else
num = 3 * num + 1;
System.out.print(EasyFormat.format(num,4,0));
} while (num != 1);