Java - 키보드 입력받기

민찬홍·2023년 9월 13일

Java

목록 보기
20/31
post-thumbnail

🧩 키보드 입력받기

		//  IDE가 최상단에 import java.util.Scanner 자동 작성
        Scanner sc = new Scanner(System.in);
  • Scanner : 키보드 입력이나 파일 등으로부터 텍스트 값을 받아오기 위한 클래스
  • System.in: InputStream 의 인스턴스, 입력받은 값들의 흐름

🧩 문자열 받기

		String str1 = sc.next();
        String str2 = sc.next();
        String str3 = sc.nextLine();

        System.out.println("str1: " + str1);
        System.out.println("str2: " + str2);
        System.out.println("str3: " + str3);
        
        // str1: 하나
        // str2: 둘
        // str3 :  셋 넷
        
하나 둘 셋 넷 
다섯
  • 🌟 코드의 진행을 멈추고 입력을 기다림

next : 스페이스를 비롯한 공백 단위로 끊어서 (토큰으로) 문자열을 받음
nextLine : 줄바꿈 단위로 끊어서 문자열을 받음


🧩 기타 자료형 받기

		Scanner sc = new Scanner(System.in);

        boolean bool = sc.nextBoolean();
        int intNum = sc.nextInt();
        double dblNum = sc.nextDouble();
		// 🧪 기타 next~ 메서드들 확인해 볼 것

        System.out.println("bool: " + bool);
        System.out.println("intNum: " + intNum);
        System.out.println("dblNum: " + dblNum);
        
        /*  bool: true
        	intNum: 1
            dblNum: 2.34
        */
        
true 1 2.34

❗️ 적절한 자료형의 값이 입력되지 않는 경우

  • 오류가 발생하는 줄 번호를 확인

		Scanner sc = new Scanner(System.in);				

		System.out.println("불리언을 입력해주세요.");

        //  💡 다음 입력값이 특정 자료형으로 읽힐 수 있는지 확인
        while (sc.hasNextBoolean()) {
            //  💡 대소문자 무관 비교
            System.out.println("입력값: " + sc.nextBoolean());
        }

        //  ⭐ 스캐너의 사용이 끝나면 OS자원을 반환
        //  파일 등으로부터 읽어오는데 사용시 필수
        sc.close();
true TRUE false False t
		System.out.println("정수를 입력해주세요.");

        while (sc.hasNextInt()) {
            System.out.println("입력값: " + sc.nextInt());
        }

        sc.close();
        System.out.println("단어를 입력해주세요.");

        while (sc.hasNext()) {
            String nextWord = sc.next();
            if (nextWord.equalsIgnoreCase("quit")) break;
            System.out.println("입력값: " + nextWord);
        }

        System.out.println("문장을 입력해주세요.");

        while (sc.hasNextLine()) {
            String nextSentence = sc.nextLine();
            if (nextSentence.equalsIgnoreCase("quit")) break;
            System.out.println("입력값: " + nextSentence);
        }

        sc.close();

		//  문자열 바로 입력하여 사용하기

		String [] strInputs = new String [5];

        for (int i = 0; i < strInputs.length; i++) {
            strInputs[i] = sc.nextLine();
        }

        sc.close();

        for (String str : strInputs) {
            System.out.println(str);
        }
profile
백엔드 개발자를 꿈꿉니다

0개의 댓글