package j1.lesson07;
import java.io.*;
/**
* 課題0702 - 解答例.
* @author s.arakawa
* @version $Id: Divisors_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class Divisors {
/**
* コンソールから1以上の整数nを入力させ、nの約数を小さい順にすべて表示するプログラム。
* @param args 無視される
* @throws IOException 入力時に例外が発生した場合
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("1以上の整数を入力:");
int input = Integer.parseInt(reader.readLine());
if (input <= 0) {
System.out.println("1以上の整数を入力してください");
}
else {
printDivisors(input);
}
}
/**
* 引数 <code>value</code> に対して、その約数を小さい順にすべて表示する。
* <code>value</code> が <code>0</code> 以下の場合は考慮しない。
* @param value 約数を表示する値
*/
public static void printDivisors(int value) {
System.out.print(1);
for (int i = 2; i < value; i++) {
if (value % i == 0) {
System.out.print(" ");
System.out.print(i);
}
}
if (value != 1) {
System.out.print(" ");
System.out.println(value);
}
}
}
|