바로 직전에 Scanner 입력 콘솔에 대해서 배웠으니, 그것을 활용한 예제를 하나만 작성해보겠습니다.
https://blue-dot.tistory.com/62?category=975496
고정된 문자열의 값을 정해놓고, 내가 입력으로 받은 문자열이 같은지 다른지를 비교하고
그 비교 결과가 같으면 '같다' 아니면 '다르다'라고 출력하는 코드를 작성해볼게요.
우선 스캐너로 입력을 받은 후에 그 값이 지정된 값과 일치한지 문자열의 비교를 해야합니다.
== 의 등가연산 비교 연산자는 같은 메모리에 있는 것인지를 확인하는 것이므로
다른 equals() 메소드를 사용하여 문자열의 값이 동일한지를 확인해야 합니다.
해당 메소드는 여기서 복습..
https://blue-dot.tistory.com/60?category=975496
package day15;
import java.util.Scanner;
/*
* 정해진 문자열과 내가 입력한 문자열이 같은지 비교해보자
* 비교 결과가 같으면 '같다' 다르면 '다르다' 라고 출력하기.
*/
public class Quiz01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String word = "스타벅스"; // 제가 고정시켜 놓은 값은 스타벅스 입니다.
// 왜냐하면 스타벅스 텀블러를 선물 받아서요...
System.out.print("단어를 입력해봐 : "); // 이것은 입력 콘솔 직전에 출력할 메세지입니다.
String input = sc.next(); // 이 부분은 하단의 설명영역을 참고해주세요!
// next() 와 nextLine() 은 차이가 있습니다!
System.out.println(input); // 입력한 값을 출력해봅니다.
if(word.equals(input)){ // 만약 고정시켜놓은 word의 값이 input 의 값과 같다면
System.out.println( // 맞아를 출력할 수 있게 만든 조건문 메소드이고
"맞아.");}
else {
System.out.println("아냐.");} // 아니라면 아니라는 문자열을 출력하게 했습니다.
}
}
sc.next() 와 sc.nextLine() 은 같은 문자열을 받는다는 점에서는 동일하지만 역할이 다릅니다.
nextLine() 은 입력창에서 한 줄의 단위, 엔터키를 입력하기 전까지를 모두 문자열로 받습니다.
공백과 탭 등도 문자열 하나로 받아요.
하지만 next() 는 공백' ' , 탭 '\t\ , 줄바꿈 '\n' 등이 있으면 구분이 됩니다.
예를 들어 입력창에
>>> 오늘 나의 하루
를 입력을 할 경우에
nextLine()의 경우 "오늘 나의 하루" 를 그대로 문자열로 반환하는 반면,
next() 의 경우 첫 번째 출력에서는 "오늘" 을 반환하고
next() 를 다시 한 번 사용하면 두 번째 출력에서 "나의" 를 반환합니다.
이 부분이 가장 큰 차이점입니다.
그럼 한 가지 더 추가해서 반복문을 사용해 입력 값을 확인해서 일치할 때까지 유저가 입력할 수 있도록 코딩해볼게요.
예를 들어 이름을 비비로 입력을 했을 때, 그 이름이 마음에 들지 않을 때 다시 입력할 수 있도록 합니다.
while 과 break, if, Scanner 를 이용하면 되는 아주 간단한 초보 코드예요.
package day20;
import java.util.*;
public class Test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("당신의 이름은 무엇입니까? : ");
String name = sc.next();
System.out.println("당신의 이름은 "+ name + "이 맞습니까?" );
System.out.println("1. 네 맞습니다.\n2. 아닙니다." );
int yesorno = sc.nextInt();
if(yesorno == 1) {
System.out.println(name + " 님 좋은 하루 되시길 바랍니다." );
break;}
else
System.out.println("다시 입력해주세요.");
}
}
}
'자바 > 자바 코드 예제 만들기' 카테고리의 다른 글
자바 기초 예제문제 6. equals() 메소드를 오버라이딩 해서 좌표 비교 (공부중) (0) | 2022.11.01 |
---|---|
자바 기초 예제문제 5. 상속 기반으로 인맥 관리 프로그램 관리 대상 묶기 (0) | 2022.10.31 |
자바 기초 예제문제 3. 제곱근을 구하기 (2의 n승 구하기) (0) | 2022.10.27 |
자바 기초 예제 문제 2. 자바로 소수값 출력하기 (0) | 2022.10.26 |
자바 기초 예제 문제 1. 중첩 반복문으로 구구단 만들기, 홀수만 더해서 더한 값 출력하기 (0) | 2022.10.25 |