본문 바로가기
대학교/2.객체지향프로그래밍_JAVA

문자열을 이용해 정수인지 실수인지 판별

by Jcoder 2017. 4. 21.

1. MyMath class의 두 메서드에 정수 제곱 실행” 및 실수 제곱 실행 문장 추가하고 키보드에서 수를 입력


< 소스 >

- MyMath

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MyMath
{
    int square(int i)
    {
        System.out.println("정수 " + i + "를 제곱합니다");
        return i*i;
    }
    
    double square(double i)
    {
        System.out.println("실수 " + i + "를 제곱합니다");
        return i*i;
    }
}
cs


MyMathTest

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.util.*;
 
public class MyMathTest
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
        
        MyMath obj = new MyMath();
        String a;
        
        while(true)
        {
            System.out.print("제곱을 할 정수를 입력하세요. ");
            a = scan.next();
        
            if(isInteger(a) == true)
            {
                int b = Integer.parseInt(a);
                System.out.println(obj.square(b));
            }
            else
            {
                System.out.print("정수를 다시 입력합니다. \n");
                continue;
            }
            
            System.out.print("제곱을 할 실수를 입력하세요. ");
            a = scan.next();
        
            if(isDouble(a) == true)
            {
                double b = Double.parseDouble(a);
                System.out.println(obj.square(b));
                break;
            }
            else
            {
                System.out.print("실수를 다시 입력합니다. ");
                continue;
            }
        }
    }
    
     public static boolean isInteger(String num)
     {
      try
      {
       Integer.parseInt(num);    // int 형으로 변환해보고
       return true;                      // 이상없으면 true를 리턴
      }
      catch (NumberFormatException e)
      {
       return false;                    // 이상 있으면 false를 리턴
      }
     }
     
    // 이 함수는 string이 double형 인지를 판별, 원리는 isInteger 메써드와 같음
     public static boolean isDouble(String num)
     {
      try
      {
       Double.parseDouble(num);
       return true;
      }
      catch (NumberFormatException e)
      {
       return false;
      }
     }
}
cs



< 실행 결과 >



일단 문자열을 받아 isInteger isDouble를 이용해(불리안을 이용해서 true, false를 이용정수면 obj.square(b)를 넣어서 출력을 했습니다.

그리고 MyMath.java를 보면 정수면 정수 i를 제곱합니다를 출력을 같이 했습니다.

만약 정수가 아니면 다시 정수를 입력하라고 continue도 썼습니다.

MyMath.java

MyMathTest.java



'대학교 > 2.객체지향프로그래밍_JAVA' 카테고리의 다른 글

OOP.종합설계  (0) 2017.06.16
[JAVA] 이벤트 그래픽  (0) 2017.06.03
지뢰찾기(주변 숫자 탐색)  (0) 2017.04.21
Tic_Tac_Toe(틱택토) 게임  (0) 2017.04.21
극장 예매 시스템  (0) 2017.04.21