약수(Divisor) 구하기
약수란 어떤 수를 나누었을 때 나머지가 0인 수를 말하며, 배수 관계에 서로 반대되는 개념이다. 약수는 보통 정수에 대해 정의되지만, 일반화하여 정역에 대해 정의하기도 한다.
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Divisor {
private int input = 1;
private ArrayList<Integer> divisor = null;
public Divisor() {
divisor = new ArrayList<Integer>();
getInput();
}
public void getInput() {
this.input = Integer.parseInt( JOptionPane.showInputDialog("약수를 구할 정수 입력 :") );
}
public ArrayList<Integer> getDivisor() {
for (int i = 1 ; i <= this.input ; i++ ) {
if ( input % i == 0 ) {
divisor.add(i);
}
}
return divisor;
}
public void showDivisor() {
StringBuffer sb = new StringBuffer("약수 : \n");
int size = this.divisor.size();
for( int i = 0 ; i < size ; i++ ) {
sb.append( this.divisor.get(i) + " ");
if ( ( i % 9 == 0)&&(i!=0) ) {
sb.append("\n");
}
}
JOptionPane.showMessageDialog(null, sb);
}
}
[예제로 실행가능한 jar 파일]