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]);
      } 

 

 

Total
Today
Yesterday