안녕하세요.


우선 지난 시간에 했던 코드를 봅시다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
package study;
 
import javax.swing.JOptionPane;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        String num = JOptionPane.showInputDialog("숫자를 입력하세요");
        
        JOptionPane.showMessageDialog(null, num + 1);
    }
 
}
cs


언뜻 보기에는 문제가 없어 보이나 num이 문자형이라 제대로 된 덧셈이 되지 않는 문제가 있었죠.

그래서 지난번에 배운 형변환을 사용할 필요가 있습니다.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package study;
 
import javax.swing.JOptionPane;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        String num = JOptionPane.showInputDialog("숫자를 입력하세요");
        
        int num2 = Integer.parseInt(num);
 
        JOptionPane.showMessageDialog(null, num2 + 1);
    }
 
}
 
cs


11행이 핵심포인트! num을 정수형으로 변환하여 num2에 집어넣는거죠.

13행도 num을 num2로 고칩니다.

실행해서 올바로 출력되는지 확인해보세요~



자, 난이도를 살짝쿵 높여볼게요. 11행 속에 9행을 집어넣어서 한줄로 만드는거죠.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package study;
 
import javax.swing.JOptionPane;
 
public class Study01 {
 
    public static void main(String[] args) {
 
 
 
        int num2 = Integer.parseInt(JOptionPane.showInputDialog("숫자를 입력하세요"));
        
        JOptionPane.showMessageDialog(null, num2 + 1);
    }
 
}
 
cs



형변환 명령어 속에 인풋박스 명령어가 들어간 형태입니다.


1+(3x(5-2))


위의 수학문제를 풀때 맨 안의 괄호부터 계산하듯이 명령어끼리 중첩되어 있을때도 맨 안에 있는 명령어부터 해석하는게 순서입니다.


사용자가 입력한 문자형 값을 정수형으로 바꾼 다음 num2 변수에 집어넣는다고 해석할 수 있습니다.



다음시간에는 이제까지 배운걸 응용해서 사용자가 출생년도를 입력하면 나이를 출력해주는 프로그램을 만들어보겠습니다.


감사합니다.

+ Recent posts