반응형
예제 입력 값을 그대로 똑같이 출력하는 문제이다.
접근 방법)
Scanner의 nextLine()를 이용하면 한 줄씩 입력을 받을 수 있다. 이것을 이용하여 한 줄씩 받고 출력하여 다음 줄에 더 이상 입력값이 없을 때까지 반복해야 한다.
while문을 이용하여 한 줄 입력값을 받고 출력하는 실행문을 만들 수 있다. 하지만 조건문을 어떻게 작성해야 하는가..
Scanner의 인스턴스.hasNext()를 이용하여 다음 입력 값 여부에 따라 true 또는 false 값을 갖게 된다.
아래 예제를 보면서 참고해 보자.
▷ 다음 입력 값이 없을 때까지
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str = sc.nextLine();
System.out.println(str);
}
입력받은 값 존재하는 경우(true)에만 입력값을 받아와 그대로 출력하는 반복문을 생성한다.
또 try-catch 예외처리문을 이용하여 해결할 수 있다.
try-catch문은 예외가 발생하는 경우 코드가 오류가 발생하지 않기 위해 사용하는데, 이것을 역이용하여 더 이상 입력받을 값이 없어 sc.nextLine()에서 예외가 발생하는 순간 더 이상 코드를 마무리하여 푸는 방법이 있다.
▷ try-catch
int a = 30;
int b = 0;
int c = 0;
try{
c = a/b; // try안에서 예외가 발생여부에 따라 catch 구문 실행 (예외 발생 안나면 c = a/b 실행)
}catch(Exception e){
c = a; // (예외 발생이 c = a 실행)
}
System.out.println(c); // println()실행
정답 코드를 확인하여 전체코드를 살펴보자.
정답 코드 1)
import java.util.*;
import java.io.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str = sc.nextLine();
System.out.println(str);
}
}
}
정답 코드 2)
import java.util.*;
import java.lang.*;
import java.io.*;
class Main {
public static void main(String[] args) {
try{
Scanner sc= new Scanner(System.in);
for(int i = 0; i < 100; i ++){
String str = sc.nextLine();
if(str!=null){
System.out.println(str);
}
}
}catch(Exception e){
}
}
}
반응형
'Baekjoon 자바 코드 > 문자열' 카테고리의 다른 글
[백준] 5622번 다이얼 풀이 코드 (Java 자바) (1) | 2024.09.25 |
---|---|
[백준] 2908번 상수 풀이 코드 (Java 자바) (0) | 2024.09.20 |
[백준] 1152번 단어의 개수 풀이 코드 (Java 자바) (0) | 2024.09.04 |
[백준] 2675번 문자열 반복 풀이 코드 (Java 자바) (1) | 2024.09.03 |
[백준] 10809번 알파벳 찾기 풀이 코드 (Java 자바) (0) | 2024.09.02 |