Javaのプログラムはクラス宣言の集まりから成り立っているが、それぞれのクラスの中には複数のメソッドを書くことが出来る。一つのメソッドとして実現すると大きくなる場合は、モジュールに分割して複数のメソッドとして実現した方が良い。ちなみに、手続き型プログラミング(procedural programming)ではプログラムをモジュール(module)に分割して、再利用可能な部品をプロシージャ(関数、サブルーチン)として実現する。
| // 2辺の長さから斜辺の長さを求めるプログラム
import java.io.*; // おまじない
class Pytha2
{
	public static void main(String[] args) throws IOException
	{
		String str;
		double x, y;
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("1辺の長さを入力して下さい。");
		str = br.readLine();
		x = Double.parseDouble(str);
		System.out.println("もう1辺の長さを入力して下さい。");
		str = br.readLine();
		y = Double.parseDouble(str);
		// 入力された2辺 x, y から斜辺の長さ z を求める
		double z = pytha(x,y);
		System.out.println("斜辺の長さは " + z + " です。");
		System.out.printf("斜辺の長さは %.1f です。", z );
	}
	// 斜辺の長さを求めるメソッド(実は Math.hypot() を使えば一発)
	// Pythagorasの定理:Pythagorean theorem、斜辺:hypotenuse
	static double pytha( double x, double y )
	{
		return( Math.sqrt( x*x + y*y ) );
	}
}
// end of Pytha2.java
 |   |   | 
|   | ||
 
 
| 例: | 
 | 
 | 
| 例2: | 
 | 

// 階乗を求めるプログラム
import java.io.*; // おまじない
class Factr1
{
	public static void main(String[] args) throws IOException
	{
		String str;
		long n;
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("整数を入力して下さい。");
		str = br.readLine();
		n = Long.parseLong(str);
		System.out.println(n + "の階乗は" + fact(n) + "です。");
	}
	// 階乗を計算する関数
	static long fact(long n)
	{
		if( n == 0 )
			return( 1 );
		else
			return( n * fact(n-1) ); // 再帰呼び出しされている!
	}
}
// end of Factr1.java