2023.10.12.<계산기Pj>next()와 nextLine() 메소드의 차이
2023. 10. 12. 21:10ㆍ콛/Til
내일배움캠프에서 자바 기초강의 1주차를 다 들은 뒤 과제를 하는 과정에 있어서 이상한 점을 발견했다.
일단 과제는 Scanner 클래스의 기본적인 활용을 통해 풀어나가는 것 같다는 생각이 드는 과제였다.
💁♀️ **요리 레시피 메모장 만들기**
- 입력값
- 내가 좋아하는 요리 제목을 먼저 입력합니다.
- 요리 별점을 1~5 사이의 소수점이 있는 실수로 입력해주세요. (ex. 3.5)
- 이어서 내가 좋아하는 요리 레시피를 한 문장씩 10문장을 입력합니다.
- 출력값
- 입력이 종료되면 요리 제목을 괄호로 감싸서 먼저 출력 해줍니다.
- 이어서, 요리 별점을 소수점을 제외한 정수로만 출력해줍니다. (ex. 3)
- 바로 뒤에 정수별점을 5점만점 퍼센트로 표현했을 때 값을 실수로 출력해줍니다. (ex. 60.0%)
- 이어서, 입력한 모든 문장 앞에 번호를 붙여서 모두 출력 해줍니다.
1. 내가 작성한 첫 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner title = new Scanner(System.in);
String input = title.next();
double doublestar = 3.5;
Scanner recipe = new Scanner(System.in);
String input1 = recipe.next();
String input2 = recipe.next();
String input3 = recipe.next();
String input4 = recipe.next();
String input5 = recipe.next();
String input6 = recipe.next();
String input7 = recipe.next();
String input8 = recipe.next();
String input9 = recipe.next();
String input10 = recipe.next();
System.out.println("[" +input+"]");
int intstar = (int)doublestar;
System.out.println(intstar);
double star = intstar / 5.0;
System.out.println("별점 : "+intstar +"("+star * 100+"%)");
System.out.println("1"+ input1);
System.out.println("2"+ input2);
System.out.println("3"+ input3);
System.out.println("4"+ input4);
System.out.println("5"+ input5);
System.out.println("6"+ input6);
System.out.println("7"+ input7);
System.out.println("8"+ input8);
System.out.println("9"+ input9);
System.out.println("10"+ input10);
}
}
2. 문제점
이렇게 입력시 다른 부분은 정상적으로 리턴되지만 레시피를 입력하는 과정에 있어서 띄어쓰기마다 끊어지며 다음 인풋에 영향을 끼치게 되었다.
3.해결방법
구글링 결과 Scanner 클래스의 next()와 nextLine() 메소드의 차이였다.
- next () 메소드는 스페이스(공백전)의 문자열을 리턴해주는 것이고
- nextLine() 메소드는 엔터를 치기 전까지 쓴 문자열을 리턴해주는 것이다.
- next()부분을 모두 nextLine()으로 바꾸고 다시 입력해보니 문제없이 잘 출력되는 것을 볼 수 있었다.
더보기
야호~!! 오늘하루 끝! 내일만 지나면 주말!! 에도 공부할거긴 한데 어쨋든..
'콛 > Til' 카테고리의 다른 글
2023.10.23.<햄버거키오스크Pj_1> (0) | 2023.10.23 |
---|---|
2023.10.13.<Java>문법2_연산자, 조건문/반복문, 배열 (0) | 2023.10.13 |
2023.10.12.<Java>문법1_Java, 변수 (0) | 2023.10.12 |
2023.09.19.<강의>SQL 3주차_Join (0) | 2023.09.19 |
2023.09.14.<SQL>MySQL_문법정리 (0) | 2023.09.14 |