package chapter03;
import java.util.Scanner;
//메트로폴리스(거대도시)는 다음과 같은 2가지 조건 중 하나를 만족하여야 한다고 가정한다.
// 어떤 도시가 메트로폴리스인지를 알아보는 프로그램을 작성하여 보자.(삼항연산자 사용)
//1. 한 나라의 수도이고, 인구가 100만 이상이어야 한다.
//2. 연 소득이 1억 이상인 인구가 50만 이상이어야 한다.
public class ExerciseExample03_2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("수도 입니까?(수도:1, 수도아님:0) ");
int capital = scanner.nextInt();
System.out.print("총 인구는? (단위:만) ");
int totalPopulation = scanner.nextInt();
System.out.print("연소득이 1억 이상인 인구는? (단위:만)");
int wealthyPopulation = scanner.nextInt();
((capital==1 && totalPopulation >= 100) || wealthyPopulation>=50) ? System.out.print("이 도시는 메트로폴리스 입니다") : System.out.print("이 도시는 메트로폴리스가 아닙니다");)
이 예제에서 맨 마지막 삼항연산자 연산이 오류가 떴다.
((capital==1 && totalPopulation >= 100) || wealthyPopulation>=50) ? System.out.print("이 도시는 메트로폴리스 입니다") : System.out.print("이 도시는 메트로폴리스가 아닙니다");)
바로 이부분 때문인데, 이유는 삼항연산자는 변수를 넣어주는 용도라서 오른쪽에 print문을 넣는다고 실행이 되는게 아니기 때문!
System.out.print(((capital==1 && totalPopulation >= 100) || wealthyPopulation>=50) ? "이 도시는 메트로폴리스 입니다" : "이 도시는 메트로폴리스가 아닙니다");
위와 같이 System.out.print를 조건식에 써주고, 괄호 안에 들어갈 내부 문자를 큰따옴표를 포함하여 오른쪽(T,F)자리에 넣어주면 실행이 된다