Web develop/JAVA

[JAVA] 자바 데이터 입력 (System.in.read() , BufferedReader 사용)

ForA 2019. 4. 21. 13:23
728x90
  • 프로그램 실행 도중 필요한 시점에 데이터를 입력받는 것.
  • 변경되는 데이터를 소스프로그램 변경없이 외부에서 전달하기 위해 사용(학점구하기, 성별구하기 등등)

byte 단위 입력

  • 숫자입력(0~9)

    System.in.read() -48;
    
    키보드입력 ---> 프로그램에서 받는 값 ==>ASCII코드 값
      0     --->           48        -->ASCII코드 값
      1     --->           49
      3     --->           51
  • 문자입력

    char ch = (char)System.in.read();

    키보드입력 ---> 프로그램에서 받는 값

    a         --->     97
    b         --->     98
    c         --->     99
    A         --->     65

    System.out.println(97); ==> 97
    System.out.println( (char)97 ); ==> a

라인 단위 입력

  1. 객체생성
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

  2. 문자열 입력
    String str = br.readLine();
    a b c d 입력==> "abcd" //1 2 3 4 ==>"1234" (문자열)

  3. 숫자 입력
    Integer.parseInt( str );
    parseInt(): 숫자로 구성된 문자열을 숫자로 변환하는 기능을 가진 메소드.
    ex) Integer.parseInt("123"); ==> 123

    package inEclipse;
    
    import java.lang.*; //기본패키지 ==> 컴파일러가 자동으로 추가. 굳이 쓸필요 없음
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    //import : 사용하겠음, 사용하고자 하는 클래스의 소속(폴더,패키지)를 알려주는 역할.
    // 형식: import 패키지명.클래스명;
    
    public class LineInputTest {
    public static void main(String[] args) throws Exception {
         //1. 객체생성
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
     System.out.println("숫자 입력: ");
         //2.문자열 입력
     String str = br.readLine(); 
     System.out.println("STR="+str);
       }
    }