반응형
어플로 어느 가게의 음식을 주문하려는데 이런 음식도 있는지 궁금해서 검색해봐야겠다.
"메뉴를 검색하세요."
이때, 입력한 메뉴가 배열에 있으면 "OOO을(를) 주문하시겠습니까?", 없으면 "OOO은(는)없는 메뉴입니다."를 출력한다.
public void restaurant() {
// 식당에 있는 메뉴를 배열로 초기화
String[] menu = {"떡볶이", "돈가스", "볶음밥", "라면", "떡국"};
Scanner sc = new Scanner(System.in); // 입력값을 받기 위해 Scanner 사용
System.out.println("메뉴를 입력하세요.");
String question = sc.nextLine(); // String 타입이므로 nextLine()으로.
// 반복문을 이용. 인덱스는 0부터 시작하므로 초기값 0,
// .length로 배열의 길이 알 수 있음.
for(int i = 0; i < menu.length; i++) {
String result = ""; // 미리 결과값 변수를 만들어놓고 for문 밖에서 출력
// 입력값.equals(가져오려는 값)
if(question.equals(menu[i])) { // 입력값이 배열에 있는 값과 같을 때
result = question + "을(를) 주문하시겠습니까?";
break; // break;를 넣어야 문자가 계속 출력되지 않음.
}
// 입력값이 배열에 없는 값일 때
else {
result = question + "은(는) 없는 메뉴입니다.";
}
}
}
▼실행결과
// 배열에 있는 입력값이면
메뉴를 입력하세요.
볶음밥
볶음밥을(를) 주문하시겠습니까?
// 배열에 없는 입력값이면
메뉴를 입력하세요.
초밥
초밥은(는) 없는 메뉴입니다.
if문에 break;가 없으면 제대로된 값이 나오지 않으므로 break;를 사용하여 원하는 값이 나오면 거기서 딱 멈추게 해야 한다. 그리고 문자열을 대입하고 싶은 변수로 데려올 때는 .equals를 사용하면 된다.
반응형