Back-End/JAVA

[Java] 입력(Scanner), next(), nextInt(), nextLine()

챌링킴 2021. 5. 13. 21:27
반응형
Scanner sc = new Scanner(System.in);

sc.next();

next() : 통째로가 사용자가 입력한 문자열 값(엔터치기 전 공백은 포함되지 않는다.)

nextInt() : 통째로가 사용자가 입력한 정수 값

nextLine() : 통째로가 사용자가 입력한 문자열 값(엔터치기 전 공백까지 포함한다.)

 

//입력메소드 실행예제

		Scanner sc = new Scanner(System.in);
		System.out.print("이름 : ");
		String name = sc.next();
		System.out.println(name + "님 어서오세요!");

		System.out.println("주소 : ");
		sc.nextLine(); // 9번째줄에서 실행된 입력메소드에서 마지막에 엔터값을 받아줘서 뒤 실행코드들에서 오류방지를 위함
		String addr = sc.nextLine();
		System.out.println("사는 곳 : " + addr);

		System.out.println("나이 : ");
		int age = sc.nextInt();
		System.out.println("5년 뒤 나이 : " + (age + 5));

 

*next() 와 nextLine()의 차이점*

		Scanner sc = new Scanner(System.in);
		
		System.out.println("띄어쓰기 포함하여 문자열 입력해보기 : ");
		String str1 = sc.nextLine();
		System.out.println(str1);
		
		System.out.println("띄어쓰기 포함하여 문자열 입력해보기 : ");
		String str2 = sc.next();
		System.out.println(str2);

앞서 실행한 코드 중 next()를 썼다면 후에 실행될 입력메소드에 엔터도 값으로 식별되기 때문에

nextLine()을 써주며 엔터값을 받아줘야 오류가 방지된다.

반응형

'Back-End > JAVA' 카테고리의 다른 글

[Java] 제어문(if문)  (0) 2021.05.14
[Java] 연산자  (0) 2021.05.14
[Java] 형변환(Casting)  (0) 2021.05.13
[Java] 메소드,변수  (0) 2021.04.18
[Java] 컴파일,컴파일러  (0) 2021.04.17