System.in.read()
콘솔 창에서 입력을 받는 함수이다.
콘솔창에 입력 되는 값은 모두 아스키코드 값으로 입력받는다.
예 1) A를 입력 받으면 A의 아스키 코드값인 65가 입력된다.
예 2) 숫자 0을 입력받으면 아스키 코드값인 48이 입력된다.
활용방법
예 1)
char a = (char) System.in.read();
이 함수가 입력되는 것은 0~255까지의 아스키코드 값이므로 char형으로 받고 싶다면 형변환을
하여서 받아야한다.
예 2)
int a = System.in.read() - 48;
숫자를 문자로 인식하기 때문에 해당 숫자의 아스키코드값을 입력받게된다. 따라서 0의 아스키
코드값인 48을 빼주어서 입력받는다.
**예외 처리가 필요한 함수이다.
import java.io.*;
public static void main(String[] arg) throws java.io.IOException{}
System.in.readLine()
read()의 활용함수. 즉 콘솔창에서 라인 전체를 읽어온다. 이 때, 엔터키 또한 라인에 포함되어서 읽어지는 것과 엔터키는 이 함수가 알아서 처리한다는 점을 주의해야한다.
<read.line() 함수 관련 예제>
import java.io.*; public class Exam_08 { public static void main(String[] ar) throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int inwon = 0; String[] name = null; int[] age = null;
System.out.println("인원 ="); inwon = Integer.parseInt(in.readLine()); name = new String[inwon]; age = new int[inwon];
for(int i=0; i<inwon; ++i){ System.out.println(i+1+"번째 사람의 이름 = "); name[i] = in.readLine(); System.out.println(i+1+"번째 사람의 나이 ="); age[i] = Integer.parseInt(in.readLine()); }
System.out.println(); for(int i=0;i<inwon;++i){ System.out.println(i+1+":"+name[i] + ":"+age[i]); } |