하루하루의 과제를 완성해 가면서 블로그를 만들어가고 있습니다.
오늘의 과제는 Main 함수가 작성되어 있는데 이에 맞는 CellPhone이라는 클래스를 완성하라는 과제입니다.
위와 같은 멤버변수와 메소드를 가지고 있습니다. 실제 실행 되는 쏘스를 한번 보시죠~
위와 같은 소스를 가지고서 아래와 같은 결과가 나와야 합니다.
이런 결과가 나오도록 해야하는 것입니다. 그래서 나온 녀석이 아래에 있습니다.
간단한 소스이니 설명은 생략~ ^^;;;
오늘의 과제는 Main 함수가 작성되어 있는데 이에 맞는 CellPhone이라는 클래스를 완성하라는 과제입니다.
CellPhone | |
String model | // 핸드폰 모델 번호 |
double battery | // 남은 배터리 양 |
CellPhone(String model) | // 모델 번호를 인자로 받는 생성자 |
void call(int time) | // 통화 시간(분)을 출력하고, 통화 시간에 따라 배터리 양을 감소시킨다. // 감소되는 배터리 양 = 통화시간(분) * 0.5 // 배터리 양은 0보다 작아지지 않는다. // 통화 시간(분)이 0보다 작은 경우에는 IllegalArgumentException(“통화시간입력오류”)을 발생시킨다. |
void charge(int time) | // 충전한 시간(분)을 출력하고, 충전한 시간에 따라 배터리 양을 증가시킨다. // 충전되는 배터리 양 = 충전시간(분) * 3 // 배터리 양은 100까지만 증가한다. // 충전 시간(분)이 0보다 작은 경우에는 IllegalArgumentException(“충전시간입력오류”)을 발생시킨다. |
void printBattery() | // 남은 배터리 양을 출력한다. |
boolean equals(Object otherObject) | // Object 타입의 객체를 입력받고, 입력받은 객체가CellPhone 타입의 클래스이면서 모델 번호가 같은 경우에 true를 리턴한다. |
위와 같은 멤버변수와 메소드를 가지고 있습니다. 실제 실행 되는 쏘스를 한번 보시죠~
public class CellPhoneMain {
public static void main(String[] args) {
CellPhone myPhone = new CellPhone("SCH-600");
myPhone.charge( 20 ); //20분간 충전을 한다.
myPhone.printBattery();
myPhone.call( 300 ); //300분간 통화를 한다.
myPhone.printBattery();
myPhone.charge( 50 ); //50분간 충전을 한다.
myPhone.printBattery();
myPhone.call( 40 ); //40분간 통화를 한다.
myPhone.printBattery();
try {
myPhone.call( -20 ); //통화시간이 잘못 입력되었다.
} catch(IllegalArgumentException e) {
System.out.println( e.getMessage() );
}
CellPhone yourPhone = new CellPhone("SCH-600");
if( myPhone.equals(yourPhone) ) {
System.out.println("동일 모델입니다.");
} else {
System.out.println("다른 모델입니다.");
}
}
}
public static void main(String[] args) {
CellPhone myPhone = new CellPhone("SCH-600");
myPhone.charge( 20 ); //20분간 충전을 한다.
myPhone.printBattery();
myPhone.call( 300 ); //300분간 통화를 한다.
myPhone.printBattery();
myPhone.charge( 50 ); //50분간 충전을 한다.
myPhone.printBattery();
myPhone.call( 40 ); //40분간 통화를 한다.
myPhone.printBattery();
try {
myPhone.call( -20 ); //통화시간이 잘못 입력되었다.
} catch(IllegalArgumentException e) {
System.out.println( e.getMessage() );
}
CellPhone yourPhone = new CellPhone("SCH-600");
if( myPhone.equals(yourPhone) ) {
System.out.println("동일 모델입니다.");
} else {
System.out.println("다른 모델입니다.");
}
}
}
위와 같은 소스를 가지고서 아래와 같은 결과가 나와야 합니다.
충전 시간 : 20분
남은 배터리 양 : 60.0
통화 시간 : 300분
남은 배터리 양 : 0.0
충전 시간 : 50분
남은 배터리 양 : 100.0
통화 시간 : 40분
남은 배터리 양 : 80.0
통화시간입력오류
동일 모델입니다.
남은 배터리 양 : 60.0
통화 시간 : 300분
남은 배터리 양 : 0.0
충전 시간 : 50분
남은 배터리 양 : 100.0
통화 시간 : 40분
남은 배터리 양 : 80.0
통화시간입력오류
동일 모델입니다.
이런 결과가 나오도록 해야하는 것입니다. 그래서 나온 녀석이 아래에 있습니다.
public class CellPhone {
String model;
double battery;
public CellPhone(String model) {
this.model = model;
}
void call(int time) {
if (time < 0) {
throw new IllegalArgumentException("통화시간입력오류");
} else {
System.out.println("통화 시간 : " + time + "분");
battery = battery - time * 0.5;
if (battery < 0)
battery = 0;
}
}
void charge(int time) {
if (time < 0) {
throw new IllegalArgumentException("충전시간입력오류");
} else {
System.out.println("충전 시간 : " + time + "분");
battery = battery + time * 3;
if (battery > 100)
battery = 100.0;
}
}
void printBattery() {
System.out.println("남은 배터리 양 :" + battery);
}
public boolean equals(Object otherObject) {
if((otherObject instanceof CellPhone)&&model.equals(((CellPhone) otherObject).model)){
return true;
}
return false;
}
}
String model;
double battery;
public CellPhone(String model) {
this.model = model;
}
void call(int time) {
if (time < 0) {
throw new IllegalArgumentException("통화시간입력오류");
} else {
System.out.println("통화 시간 : " + time + "분");
battery = battery - time * 0.5;
if (battery < 0)
battery = 0;
}
}
void charge(int time) {
if (time < 0) {
throw new IllegalArgumentException("충전시간입력오류");
} else {
System.out.println("충전 시간 : " + time + "분");
battery = battery + time * 3;
if (battery > 100)
battery = 100.0;
}
}
void printBattery() {
System.out.println("남은 배터리 양 :" + battery);
}
public boolean equals(Object otherObject) {
if((otherObject instanceof CellPhone)&&model.equals(((CellPhone) otherObject).model)){
return true;
}
return false;
}
}
간단한 소스이니 설명은 생략~ ^^;;;
'Device & Language > Java' 카테고리의 다른 글
Java의 연산자(내림차순) (0) | 2010.08.31 |
---|---|
배열 원소의 최기값 (0) | 2010.08.31 |
Java StringBuilder vs StringBuffer (1) | 2010.08.23 |
Java Message Service spec (0) | 2010.08.22 |
자바를 이용한 부대활동(???) (0) | 2010.08.21 |