테스트 화면
//예외 클래스 만들기
//Exception 클래스 상속받아 만든다.
public class MyException extends Exception
{
public MyException(){
super("내가 만든 예외 클래스");
}
public MyException(String msg){
super(msg);
}
}
import java.util.Scanner;
import java.util.Random;
public class MyExceptionMain
{
int num, sum;
String msg[]={"1~100사이의 정수입력", "1~100사이의 홀수 입력", "1~100사이의 짝수 입력"};
Scanner scan = new Scanner(System.in);
Random ran = new Random();
public MyExceptionMain(){}
public void start(){
//1~100 사이의 값이나, 홀수, 짝수를 입력받아 그수까지의 합 구하기
int idx = ran.nextInt(3);
System.out.print(msg[idx]+" = ");
num = scan.nextInt();
if(idx == 0){
inputCheck();
}else if(idx == 1){
inputOddCheck();
}else if(idx == 2){
inputEvenCheck();
}
}
//정수 확인
public void inputCheck(){
try{
if(num<1 || num>100){
throw new MyException("1~100사이의 정수를 입력하셔야 합니다.");
}
sum();
}catch(MyException me){
System.out.print(me.getMessage());
}
}
//정수 계산
public void sum(){
sum = 0;
for(int i=1; i<=num; i++){
sum += i;
}
System.out.println("sum = "+sum);
}
//홀수 확인
public void inputOddCheck(){
try{
if(num<1 || num>100 || num%2==0){
throw new MyException("1~100사이의 홀수이여야 합니다.");
}
oddsum();
}catch(MyException me){
System.out.print(me.getMessage());
}
}
//홀수 계산
public void oddsum(){
sum = 0;
for(int i=1; i<=num; i+=2){
sum += i;
}
System.out.println("oddsum = "+sum);
}
//짝수 확인
public void inputEvenCheck(){
try{
if(num<1 || num>100 || num%2==1){
throw new MyException("1~100사이의 홀수이여야 합니다.");
}
evensum();
}catch(MyException me){
System.out.print(me.getMessage());
}
}
//짝수 계산
public void evensum(){
sum = 0;
for(int i=2; i<=num; i+=2){
sum += i;
}
System.out.println("evensum = "+sum);
}
public static void main(String[] args)
{
MyExceptionMain mm = new MyExceptionMain();
mm.start();
}
}
'응용 SoftWare > JAVA' 카테고리의 다른 글
[JFrame] 계산기 만들기 (0) | 2016.12.07 |
---|---|
[JFrame] 창을 만들고 5초 뒤에 자동으로 닫기 (0) | 2016.12.07 |
[예외처리] 예외 발생시키기 (0) | 2016.12.05 |
[예외처리] 메소드 예외처리 (0) | 2016.12.05 |
[예외처리] try-catch (0) | 2016.12.05 |