有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么我的回归不为冰雹工作?

String hailstone(int n){
    if(n >= 1)
        if(n%2 == 0)
            n = (n/2);
        else 
            n = (n*3)+1;
    else 
        return n;
}

我知道它需要返回一个字符串,我尝试了Integer.toString(n),但这不起作用,所以我不知道该怎么办


共 (1) 个答案

  1. # 1 楼答案

    如果希望函数返回下一个Collatz编号,请删除最后一个else

    int hailstone(int n){
        if(n >= 1)
            if(n%2 == 0)
                n = (n/2);
            else 
                n = (n*3)+1;
        // else   < - should be removed.
        return n;
    }
    

    并将返回值更改为int或doreturn String.valueOf(n);

    如果你想打印整个冰雹系列,你可以这样做

    int n = initialValue;
    do {
        System.out.println(n);
        n = hailstone(n);
    } while (n != 1);