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);