0

整数の数字を逆にする次のコードがあります。

public class integerReversal {
    public static int reverseNum(int number){
        int reversed = 0;
        int remainder;
        //{I:  ; B: number > 0}
        while (number > 0){
            remainder = number % 10;
            number = number / 10;
            reversed = reversed * 10 + remainder; 
        }
        //{I: ; !B: number == 0}
    return reversed;
    }
    public static void main (String [] args){ 
        System.out.println(reverseNum(1262015 ));
    }
}

私の教授は、このコードを書くことを私たちに課し、ループ不変条件とループ条件も書くように言われました。ここでループ条件を理解していますが、不変条件について何を見ればよいかわかりません。while ループの開始時と終了時に真になるのは何らかの条件であることに気付きましたが、反復ごとに、ここで何が起こるかわかりません。ヒントをいただければ幸いです。

4

2 に答える 2

0

あなたの場合、reversed >=0 はループの不変条件です。これは、ループを中断しているかどうかにかかわらず、常に true のままであるためです。

于 2015-01-27T03:54:25.167 に答える