쉽게 배우는 자바 프로그래밍(우종정) 프로그래밍 문제 풀이 4장 - 4번
2019. 12. 4. 17:27ㆍ쉽게 배우는 자바 프로그래밍
class Car {
private String color;
static int numOfCar = 0;
static int numOfRedCar = 0;
public Car(String color) {
this.color = color;
numOfCar++;
if (color.equalsIgnoreCase("red"))
numOfRedCar++;
}
static public int getNumberOfCar() {
return numOfCar;
}
static public int getNumberOfRedCar() {
return numOfRedCar;
}
}
public class CarTest {
public static void main(String[] args) {
Car c1 = new Car("red");
Car c2 = new Car("blue");
Car c3 = new Car("RED");
System.out.printf("자동차 수 : %d, 빨간색 자동차 수 : %d", Car.getNumberOfCar(),
Car.getNumberOfRedCar());
}
}
if (color == "red" || color == "RED")
numOfRedCar++;
if문을 좀 더 잘 쓸 수 있을 것 같은데.. 우선 결과는 맞게 나오지만.....
만약 reD나 Red 같은 색깔이 지정된다면 어떻게 할 것인가.. 그리고 ==... 이거 주소값 비교로 알고있는데 그냥 써버렸다
다른 방법을 검색해보자!
equals가 string에서 값 비교로 쓸 수 있다는 정보를 얻었다
즉
if (color == "red" || color == "RED")
numOfRedCar++;
를
if (color.equals("red") || color.equals("RED"))
numOfRedCar++;
으로 바꿀 수 있다.
그리고 red와 RED를 비교할 필요 없이 equalsIgnoreCase("red")하면 된다!
대,소문자 필요없이 내용이 똑같은 지 검사하는 메소드이다
제일 좋은 코드는 아마... 이렇지 않을까
if (color.equalsIgnoreCase("red"))
numOfRedCar++;
'쉽게 배우는 자바 프로그래밍' 카테고리의 다른 글
쉽게 배우는 자바 프로그래밍(우종정) 프로그래밍 문제 풀이 4장 - 6번 (0) | 2019.12.04 |
---|---|
쉽게 배우는 자바 프로그래밍(우종정) 프로그래밍 문제 풀이 4장 - 5번 (0) | 2019.12.04 |
쉽게 배우는 자바 프로그래밍(우종정) 프로그래밍 문제 풀이 4장 - 3번 (0) | 2019.12.03 |
쉽게 배우는 자바 프로그래밍(우종정) 프로그래밍 문제 풀이 4장 - 2번 (0) | 2019.12.03 |
쉽게 배우는 자바 프로그래밍(우종정) 프로그래밍 문제 풀이 4장 - 1번 (0) | 2019.12.03 |