컴공댕이 공부일지
230316 java의 입출력 (next와 nextLine) 본문
728x90
오늘은 자바에서 값을 입력받는 법을 배웠어요.
#next()와 nextLine() : nextLine의 엔터 먹어가기와 해결법.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String code;
int age;
String name;
System.out.println("학번 :");
code = input.nextLine();
System.out.println("나이 :");
age = input.nextInt();
//nextLine을 쓰면 엔터를 먹어가기때문에 넘어가버려!
//해결법 1. 엔터 하나 먹어버릴 다른 넥스트라인 코드 작성!
String temp = input.nextLine();
System.out.println("이름 :");
name = input.nextLine();
//해결법 2. 그냥 넥스트라인 대신 넥스트를 쓰기!
System.out.println(code + " " + age + " " + name + " ");
input.close(); //스캐너 다 썼으면 닫아주면 조아~
}
}
next() : 엔터 무시하고 입력받아
nextLine() : 한 줄 단위로 입력을 받아 엔터도 포함
\n을 포함하는 한 라인을 읽고 '\n'을 버린 나머지 문자열 리턴
nextInt()에 1234를 입력하고 Enter를 치면 버퍼에 1234\n이 존재한다.
이 때 nextInt()가 버퍼의 내용을 가져올 때 분리자를 제외하고 가져오기 때문에 1234만 가져옴.
그러면 버퍼에 \n이 남아있게 되는데 nextLine()은 공백과 개행문자(Enter)인 분리자를 포함하니깐 \n만 가져오고 프로그램이 종료되는 엔터 먹어가기가 발생.
그래서 nextLine은 한 줄 단위로 와라락 입출력이 가능해서, 공백 있는 스트링도 입력받을 슈 있어!
그래서 막 1 2 3 4 5 6 7\n 이렇게 공백이 있는 스트링도 nextLine을 활용하면 입출력이 됨.
728x90
'학교 > 객지프 정리' 카테고리의 다른 글
[비정방 배열] 배열예제 복습 + 2차원 배열 (0) | 2023.04.04 |
---|---|
이차원 배열 (0) | 2023.03.28 |
[메소드, 반복문] 삼각형 사각형 찍기 + 트리 만들기 예제 (0) | 2023.03.28 |
230323 객지프 (조건문 예제, ) (0) | 2023.03.23 |
문자열의 입출력 정리 (0) | 2023.03.18 |
Comments