안녕하세요.
이번 시간에는 입력상자를 만들어보겠습니다. 흔히들 '인풋박스'라고 하는 건데요.
이처럼 사용자의 입력을 받는 상자죠. 자바에서의 정식 명칭은 '인풋 다이얼로그'이지만 편의상 '인풋박스'라고 하겠습니다.
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) { JOptionPane.showInputDialog("숫자를 입력하세요"); } } | cs |
이런식으로 코딩하시면 되겠습니다. 메세지박스 코딩하는 방법과 유사하니까 별로 어렵지는 않으실겁니다.
JOptionPane.showInputDialog("표시할 내용");
구조는 단순합니다. 이 녀석도 메세지박스처럼 JOptionPane의 한 종류군요.
이제 이걸 응용하여 '인풋박스에 입력한 값에다가 1을 더한 값을 출력하는 프로그램'을 만들어보도록 하죠. 예를 들어 3을 입력하면 메세지박스에 4가 출력되는 거죠.
우선, 사용자가 입력한 값을 변수에 저장할 필요가 있습니다.
자료형 변수 = JOptionPane.showInputDialog("표시할 내용");
이런 방식대로 하면 됩니다.
그런데 에러가 났네요. 빨간 밑줄에 마우스를 갖다대면 이렇게 설명상자가 뜨는데 해석하면 아래와 같습니다.
자료형이 맞지 않음: 문자형을 정수형으로 변환할 수 없습니다.
빠르게 수정할 수 있는 방법이 1개 있음:
num의 자료형을 문자형으로 바꾼다.
'num의 자료형을 문자형으로 바꾼다' 부분을 클릭해보실까요?
int가 String으로 바꼈고 에러표시가 사라졌습니다. 인풋박스에 적은 내용은 문자로 인식되며 문자형 변수에 밖에 저장할 수 없다는 걸 알 수 있죠.
일단 계속 진행해봅시다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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이 더해진 값이 메세지박스에 출력되도록 했습니다.
실행해서 5를 적어봤습니다.
역시 51이 나오는군요. 숫자를 입력했지만 문자로 인식해서 그렇죠.
자, 그렇다면 이 문제를 어떻게 해결할 수 있을까요? 그렇습니다. '형변환'을 사용하면 되겠죠!
다음시간에는 이번시간에 만든 코드에다가 형변환을 적용시켜서 올바른 값을 출력시켜보겠습니다.
감사합니다.
'자바로 게임 만들기' 카테고리의 다른 글
[자바로 게임 만들기] 14. 나이 계산기 (6) | 2018.12.28 |
---|---|
[자바로 게임 만들기] 13. 인풋박스와 형변환 (3) | 2018.12.28 |
[자바로 게임 만들기] 11. 자료형 변환(형변환) (3) | 2018.12.27 |
[자바로 게임 만들기] 10. 코드가 빙글빙글(for문) (4) | 2018.12.27 |
[자바로 게임 만들기] 09. 숫자 비교와 참, 거짓 (4) | 2018.12.27 |