Calculation.java



/** 制御構造の練習のためのクラス Calculation */

public class Calculation {

  /** 最初に呼び出されるメソッド */

     public static void main( String argv[] ) {

          int x, y;

          x = exponent( 2, 30 );
          System.out.println( "2**30 is " + x );

          y = nextPrime( 100000 );
          System.out.println( "first prime after 100000 is " + y );
     }

  /** p の n乗の値を計算して返すメソッド */

     public static int exponent( int p, int n ){

          int k=1;

          for( int i=0; i<n; i++ )
               k*=p; 

          return k;
     }

  /** 与えられた整数より大きな最初の素数を返すメソッド */

     public static int nextPrime( int n ){

          int p=n+1;
          outerLoop: while( true ) {
               int i=2;
               innerLoop: while( true ) {
                  if( p%i == 0 )
                      break innerLoop;  // 次の候補に移る
                  if( i*i > p )
                      break outerLoop;  // 素数が見つかった
                  i++;
               }
               p++;
          }
          return p;
     }
}