Monday, January 29, 2007
Java/자바] 일시 중지/정지 Pause 시키기; Enter키를 누르면 계속됩니다 메시지
텍스트 모드 프로그램에서는, "계속하려면 아무 키나 누르십시오 . . ." 등의 메시지를 출력하고, 사용자가 아무 키나 누를 때까지 프로그램을 잠시 정지시켜야 하는 일이 많습니다.
자바에는 키보드 입력을 받을 때까지 프로그램을 일시 중지시키는 메소드(함수)가 준비되어 있지 않아서, 다음 소스의 아래쪽과 같이 pause() 메소드를 직접 만들어야 합니다.
단, 아무키가 아닌 Enter키를 눌렀을 때에만, 중지 상태에서 빠져나오는 한계가 있습니다. 아무 키나 눌러도 빠져 나오게 하는 것은 순수한 자바 코드로는 되지 않더군요.
소스 파일명: Foo.java
컴파일 및 실행 결과 화면:
2번째 실행 때는 엔터키(Enter Key)가 아닌 y키와 h키를 눌렀는데 중지가 풀리지 않았습니다. Enter키를 눌러 주었을 때 결국 pause()에서 빠져 나왔습니다.
"아무 키나 누르면 계속됩니다."가 아닌, "Enter 키를 누르면 계속됩니다."로 작동합니다.
즉, 다른 키는 안 먹히고, Enter 키만 먹힙니다.
지정한 시간 동안 강제로 중지시키는 방법: ▶▶ Java/자바] 프로그램 일시 중지 방법, 실행 잠시 멈추기 메소드; Sleep
Y/N 입력 받기: ▶▶ 자바Java] (Yes/No)? (Y/N)? (예/아니오)? 키보드로 입력 받기, 묻기
자바에는 키보드 입력을 받을 때까지 프로그램을 일시 중지시키는 메소드(함수)가 준비되어 있지 않아서, 다음 소스의 아래쪽과 같이 pause() 메소드를 직접 만들어야 합니다.
단, 아무키가 아닌 Enter키를 눌렀을 때에만, 중지 상태에서 빠져나오는 한계가 있습니다. 아무 키나 눌러도 빠져 나오게 하는 것은 순수한 자바 코드로는 되지 않더군요.
Enter키를 누를 때까지, 실행 잠시 정지 예제
소스 파일명: Foo.java
import java.io.*;
public class Foo {
public static void main(String[] args) {
System.out.print("Enter 키를 누르세요");
pause(); // '중지'시키기
System.out.println("중지가 풀렸습니다.");
}
public static void pause() {
try {
System.in.read();
} catch (IOException e) { }
}
}
public class Foo {
public static void main(String[] args) {
System.out.print("Enter 키를 누르세요");
pause(); // '중지'시키기
System.out.println("중지가 풀렸습니다.");
}
public static void pause() {
try {
System.in.read();
} catch (IOException e) { }
}
}
컴파일 및 실행 결과 화면:
D:\Z>javac Foo.java && java Foo
Enter 키를 누르세요
중지가 풀렸습니다.
D:\Z>javac Foo.java && java Foo
Enter 키를 누르세요yyyyyyyyyyyyyyyhhhhhhhh
중지가 풀렸습니다.
D:\Z>
Enter 키를 누르세요
중지가 풀렸습니다.
D:\Z>javac Foo.java && java Foo
Enter 키를 누르세요yyyyyyyyyyyyyyyhhhhhhhh
중지가 풀렸습니다.
D:\Z>
2번째 실행 때는 엔터키(Enter Key)가 아닌 y키와 h키를 눌렀는데 중지가 풀리지 않았습니다. Enter키를 눌러 주었을 때 결국 pause()에서 빠져 나왔습니다.
"아무 키나 누르면 계속됩니다."가 아닌, "Enter 키를 누르면 계속됩니다."로 작동합니다.
즉, 다른 키는 안 먹히고, Enter 키만 먹힙니다.
지정한 시간 동안 강제로 중지시키는 방법: ▶▶ Java/자바] 프로그램 일시 중지 방법, 실행 잠시 멈추기 메소드; Sleep
Y/N 입력 받기: ▶▶ 자바Java] (Yes/No)? (Y/N)? (예/아니오)? 키보드로 입력 받기, 묻기
tag: java
자바 | Java
<< Home