테스트 화면

//예외 클래스 만들기

//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();

}

}



Posted by Hyun CHO
,