Top >Java 練習問題集

6. メソッド

以下、

import java.io.*;

public class Exercise
{
        :
        :
}

の記述は省略します

練習問題 6 - 1

整数の 2 乗を計算するメソッドを作成しなさい1つの int 型引数を取り、結果を int 型の戻り値として返すこと

また、メソッドの動作を検証できるようにプログラムを作成しなさい


public static void main( String[] args )
{
    System.out.println( "3の2乗=" + pow2( 3 ) );
}

static int pow2( int n )
{
    return n * n;
}

練習問題 6 - 2

2つの整数の平均を計算するメソッドを作成しなさい2つの int 型引数を取り、結果を int 型の戻り値として返すこと

また、メソッドの動作を検証できるようにプログラムを作成しなさい


public static void main( String[] args )
{
    System.out.println( "4と9の平均=" + average( 4, 9 ) );
}

static int average( int x, int y )
{
    return ( x + y ) / 2;
}

練習問題 6 - 3

2つの整数の大きい方を選ぶメソッドを作成しなさい2つの int 型引数を取り、大きい方の数値を戻り値として返すこと

また、このメソッドを使用して、int 型の変数 x、y、z にそれぞれ数値を入力し、最も大きい数値を表示するプログラムを作成しなさい


public static void main( String[] args ) throws IOException
{
    BufferedReader br = new BufferedReader(
                            new InputStreamReader( System.in ) );

    int x = Integer.parseInt( br.readLine() );
    int y = Integer.parseInt( br.readLine() );
    int z = Integer.parseInt( br.readLine() );

    System.out.println( MaxValue( x, MaxValue( y, z ) ) );
}

static int MaxValue( int n1, int n2 )
{
    if( n1 > n2 )
        return n1;
    else
        return n2;
}

練習問題 6 - 4

サイズを示す数値(int)を引数とし、何等かの文字で例のような三角形を表示するメソッドを作成しなさい

また、このメソッドを使用してサイズ 3、4、5 の3つの三角形を表示するプログラムを作成しなさい


public static void main( String[] args )
{
    DrawTriangle( 3 );
    System.out.println();
    DrawTriangle( 4 );
    System.out.println();
    DrawTriangle( 5 );
}

static void DrawTriangle( int size )
{
    forint i = 0 ; i < size ; i++ )
    {
        forint j = 0 ; j <= i ; j++ )
            System.out.print( "$" );

        System.out.println();
    }
}

 

以下は、関数を再帰的に使用した例

static void DrawTriangle( int size )
{
    if( size > 1 )
        DrawTriangle( size - 1 );

    forint i = 0 ; i < size ; i++ )
        System.out.print( "$" );

    System.out.println();
}

練習問題 6 - 5

サイズを示す数値と、表示する文字を引数とし、三角形を表示するメソッドを作成しなさい

このメソッドを使用して、サイズと文字の異なる3つの三角形を表示しなさい


public static void main( String[] args )
{
    DrawTriangle2( 3, '%' );
    System.out.println();
    DrawTriangle2( 5, '#' );
    System.out.println();
    DrawTriangle2( 7, '@' );
}

static void DrawTriangle2( int size, char ch )
{
    forint i = 0 ; i < size ; i++ )
    {
        forint j = 0 ; j <= i ; j++ )
            System.out.print( ch );

        System.out.println();
    }
}

練習問題 6 - 6

九九のひとつの段を表示するメソッドを作成しなさい何の段( 1 ~ 9 )であるかを引数とします

このメソッドを使用して、九九表を作成しなさい


public static void main( String[] args )
{
    forint i = 1 ; i <= 9 ; i++ )
        KukuColumn( i );
}

static void KukuColumn( int num )
{
    forint i = 1 ; i <= 9 ; i++ )
        System.out.printf( " %2d", num * i );

    System.out.println();
}

練習問題 6 - 7

ある数が素数かどうかを判定するメソッドを作成しなさい

このメソッドを使用して 10000 以上 10100 未満の素数をすべて表示するプログラムを作成しなさい


public static void main( String[] args )
{
    forint n = 10000 ; n < 10100 ; n++ )
        if( IsPrimeNumber( n ) )
            System.out.print( n + " " );
}

static boolean IsPrimeNumber( int num )
{
    if( num <= 3 )
        return true;

    forint i = 2 ; i <= ( num / 2 ) ; i++ )
        if( ( num % i) == 0 )
            return false;

    return true;
}

練習問題 6 - 8

メソッドを再帰的に呼び出すことによって、フィボナッチ数列の n 番目の項を計算するメソッドを作成しなさい

最初の2つの項、0 番目を 0、1 番目を 1 とします

このメソッドを使用して、11 番目から 20 番目までの項を表示するプログラムを作成しなさい


public static void main( String[] args )
{
    forint n = 11 ; n <= 20 ; n++ )
        System.out.print( Fibonacci( n ) + " " );
}

static int Fibonacci( int n )
{
    if( n == 0 )
        return 0;
    else if( n == 1 )
        return 1;
    else
        return Fibonacci( n - 2 ) + Fibonacci( n - 1 );
}
AKABAS
NEZEN