728x90
문제
https://www.acmicpc.net/problem/11718
입력받은 문자열을 빈줄없이 그대로 출력하는 문제이다.
입력 출력
Hello Hello
Baekjoon Baekjoon
Hello World Hello World
------------------------------------------------------------------------------------------------------------------
풀이
(1) Scanner 사용
While문의 조건에 hasNextLine()을 이용하였다.
hasNextLine()은 boolean형식으로 반환해주는 메소드이다. 다음 줄에 입력이 있는지의 여부를 판단하여 True/False를 반환한다. 엔터(\n)도 동일하게 True로 반환하기 때문에 break를 해주어야 할 것 같은데 이 부분은 잘 모르겠다....
+) 공백을 포함한 문자열도 그대로 출력해야하기 때문에 공백 전까지의 문자열을 받는 next()가 아닌 nextLine()을 이용하였다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()) {
String str = sc.nextLine();
System.out.println(str);
}
sc.close();
}
}
------------------------------------------------------------------------------------------------------------------
(2) BufferdReader 사용
while문 밖에서 String 변수를 미리 선언해놓은 뒤, br.readLine()을 사용하였다.
입력이 없을 때까지 반복실행 되도록 (str = br.readLine()) != null 을 while문의 조건으로 설정하였다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
while((str=br.readLine())!=null) {
System.out.println(str);
}
br.close();
}
}
728x90
'문제 풀이' 카테고리의 다른 글
[백준] 5622번: 다이얼 - JAVA (자바) (0) | 2023.08.06 |
---|---|
[백준] 2444번: 별 찍기 - 7 - JAVA (자바) (0) | 2023.08.06 |
[백준] 2908번: 상수 - JAVA (자바) (0) | 2023.06.29 |
[백준] 1152번: 단어의 개수 - JAVA (자바) (0) | 2023.06.28 |
[백준] 2675번: 문자와 문자열 - JAVA (자바) (0) | 2023.06.27 |