Java “我的”怎么了;科拉兹猜想;?

Java “我的”怎么了;科拉兹猜想;?,java,collatz,Java,Collatz,所以,我只是试图创建一个循环来运行“3n+1”公式,当我输入一个负数时,我陷入了一个无限循环,剩余的是0和-1 这是正确的还是我的代码遗漏了什么 这是我的密码: Scanner scan = new Scanner(System.in); number = 0; method = 0; int counter= 0; if(scan.hasNextInt()){ number = scan.nextInt(); int original = number;

所以,我只是试图创建一个循环来运行“3n+1”公式,当我输入一个负数时,我陷入了一个无限循环,剩余的是0和-1

这是正确的还是我的代码遗漏了什么

这是我的密码:

    Scanner scan = new Scanner(System.in);
    number = 0;
    method = 0;
int counter= 0;

if(scan.hasNextInt()){
     number = scan.nextInt();
  int original = number;
 while(number!=1){
      method = number%2;
     if(method==0){
    number = number/2;
 }else number = number*3+1;
 counter +=1;
  System.out.println(number);
  System.out.println("the remainder was "+method);
 }


 System.out.println("The original number was "+original);
 System.out.println("it took " + counter+ " times to reach 1.");



}else System.out.println("please enter a number");

这个猜想只适用于自然数(即正整数1,2,3,…)。如果要将其扩展为0和负数,则必须使用其他公式。查看上的“扩展到更大的域”。

好的,我想它应该也适用于负数。谢谢