
[객체]
package ch08;
public class PersonInfo {
public int height;
public int weight;
public String sex;
public String name;
public int age;
public PersonInfo() {}
public String showPersonInfo() {
return "키가 " + height + "이고 몸무게가 " + weight + " 킬로인 " + sex + "이 있습니다. 이름은 " + name + "이고 나이는 " + age + "세입니다.";
}
public PersonInfo(int height, int weight, String sex, String name, int age) {
this.height = height;
this.weight = weight;
this.sex = sex;
this.name = name;
this.age = age;
}
}
[메인 클래스]
package ch08;
public class PersonInfoTest {
public static void main(String[] args) {
//기본 생성자 이용
PersonInfo male = new PersonInfo();
male.height = 180;
male.weight = 78;
male.sex = "남성";
male.name = "Tomas";
male.age = 37;
System.out.println(male.showPersonInfo());
//매개변수가 있는 생성자 이용
PersonInfo female = new PersonInfo(160, 50, "여성", "Jennie", 25);
System.out.println(female.showPersonInfo());
}
}
기본 생성자와 매개변수가 있는 생성자 둘 다 사용한 풀이를 해보기 위해서 female 참조 변수도 추가해서 작성해보았다.
[객체]
package ch08;
public class OrderInfo {
public String orderNumber;
public String phoneNumber;
public String address;
public String orderDate;
public String orderTime;
public int orderPrice;
public String menuNumber;
public void showOrderDetail() {
System.out.println("주문 접수 번호 : " + orderNumber);
System.out.println("주문 핸드폰 번호 : " + phoneNumber);
System.out.println("주문 집 주소 : " + address);
System.out.println("주문 날짜 : " + orderDate);
System.out.println("주문 시간 : " + orderTime);
System.out.println("주문 가격 : " + orderPrice);
System.out.println("메뉴 번호 : " + menuNumber);
}
}
[메인 클래스]
package ch08;
public class OrderInfoTest {
public static void main(String[] args) {
OrderInfo orderList = new OrderInfo();
orderList.orderNumber = "202011020003";
orderList.phoneNumber = "01023450001";
orderList.address = "서울시 강남구 역삼동 111-333";
orderList.orderDate = "20201102";
orderList.orderTime = "130258";
orderList.orderPrice = 35000;
orderList.menuNumber = "0003";
orderList.showOrderDetail();
}
}
오류
처음에 숫자값이 들어가는 변수의 자료형을 int로 넣어줬더니 메인에서 값을 입력하면 오류가 발생했다. 이는 값에 0으로 시작하는 숫자가 있거나 범위가 맞지 않아서 발생하는 오류였다.
해결
0으로 시작될 가능성이 잇는 숫자의 자료형을 String 으로 변경해주거나 int 대신 long 을 사용하면 오류가 해결되었다.
[실행 결과]
