0

そのため、3N+1 方程式を計算する簡単なコードを作成する必要がありました。ここで、N はユーザーが入力する整数で、正の整数の場合は N = N / 2、負の整数の場合は N = N * 3 + 1 です。

ただし、私が理解できることから、私のコードは最初の while ループの後に機能しないため、何も出力されません。私は何を間違っていますか?プログラミングは初めてで、まだ学習中なので、あなたの助けに感謝します:)

コード:

import java.util.Scanner; 
public class ThreeNplusOneProgram {

    public static void main(String[] args) {

        int N; Scanner input = new Scanner(System.in); int counter; 

        System.out.println("Please Enter an integer: ");
        N = input.nextInt();

        while ( N <= 0 ) {
            System.out.println("ERROR: Please Enter an integer greater than zero: ");
            N = input.nextInt();
        }

        //So far we know that N is great than Zero

        System.out.println(N);
        counter = 1;
        while ( N != 1 ) { 

            if (N == N % 2 )
                N = N / 2; 

            else N = N * 3 + 1; 

            counter = counter + 1; 

        }

        System.out.println("There were" + counter + "terms in the sequence");
    }

}
4

2 に答える 2