개발 일기
JAVA 코딩 연습(배열 객체의 조건 case 출력 연습_ feat. 주차프로그램) 본문
//1. Car 클래스 생성 후 변수 및 메소드 생성
public class Car {
//1.멤버필드(변수)(속성)
private String no;//차량번호
private int inTime;//입차시간
private int outTime;//출차시간
private int fee;//주차요금
/*
* 생성자
*/
public Car() {
}
public Car(String no, int inTime) {
this.no = no;
this.inTime = inTime;
}
public Car(String no, int inTime, int outTime, int fee) {
this.no = no;
this.inTime = inTime;
this.outTime = outTime;
this.fee = fee;
}
//2. 멤버메쏘드[기능](차객체가 가지고있는 기능 )
/*
* 출차시간셋팅
*/
public void setOutTime(int outTime) {
this.outTime=outTime;
return;
}
/*
* 입차데이타(번호,입차시간) 셋팅
*/
public void setIpChaData(String no, int inTime) {
this.no=no;
this.inTime=inTime;
}
/*
* 요금계산
*/
public void calculateFee() {
this.fee=(this.outTime-this.inTime)*1000;
}
/*
* 헤더출력
*/
public static void headerPrint() {
System.out.println("-----------------------------------");
System.out.printf("%s %s %s %s%n","차량번호", "입차시간","출차시간","주차요금");
System.out.println("-----------------------------------");
}
/*
* 차량정보출력
*/
public void print() {
System.out.printf("%7s %7d %9d %8d%n",this.no,this.inTime,this.outTime,this.fee);
return;
}
//setter
public void setNo(String no) {
this.no = no;
}
public void setInTime(int inTime) {
this.inTime = inTime;
}
public void setFee(int fee) {
this.fee = fee;
}
//getter
public String getNo() {
return no;
}
public int getInTime() {
return inTime;
}
public int getOutTime() {
return outTime;
}
public int getFee() {
return fee;
}
}
//2. CarArrayMain 클래스 생성 후 Car[]객체 생성하여 조건 별 호출
public class CarArrayMain {
public static void main(String[] args) {
Car[] carArray= { // Car[]객체 carArray 생성 후 초기화 진행
null,null,new Car("5654", 8),null,null,
new Car("3422", 12),null,null,null,null,
null,null,null,null,new Car("7789", 11),
new Car("1120", 10),null,null,null,null,
null,new Car("2389", 9),null,null,null,
null,null,null,null,new Car("5555", 6)
};
//case1. 주차되어 있는 전체 차량 출력
System.out.println("1.전체 차량출력");
Car.headerPrint();
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]!=null) // car배열 객체값이 null이 아닌 객체들로만 비교
carArray[i].print();
}
//case2. 전체 주차 가능 공간(배열의 크기) 출력
System.out.println("2.전체주차구획수");
int a = 0;
a = carArray.length; // car배열 객체의 범위 호출
System.out.println(a);
//case3. 현재 주차 가능 구획 수 노출 객체의 값이 null인 케이스의 수 출력
System.out.println("3.주차가능주차구획수");
int count = 0;
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]==null) { // car배열 객체의 값이 null인 카운트
count++;
}
}System.out.println(count);
//case4. 차량객체 생성 후 빈자리 찾아 대입
System.out.println("4.입차");
Car c1 = new Car("1234", 13); // c1객체 생성 후 초기화
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]==null) { // car배열 객체 값이 null인 곳에 c1 값을 대입하고 브레이크
carArray[i]=c1;
break;
}
}
//case5. "7789" 차량번호 정보 출력
System.out.println("5.차량번호 7789번 차한대 정보출력"); // String 비교
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]!=null) {
if(carArray[i].getNo().equals("7789")) { // equals 사용하여 String 타입 비교
carArray[i].print();
}
}
}
//case6. 입차시간 10시 이후 차량 정보 출력
System.out.println("6.입차시간 10시이후 차량여러대 찾아서 정보출력");
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]!=null) {
if(carArray[i].getInTime()>=10) { // 입차 시간 10시 이후 차량 조회
carArray[i].print();
}
}
}
//case7. "2389"차량 12시 출차 / 영수증 출력 / 주차 내 차량 삭제
System.out.println("7.2389번차량 12시 출차");
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]!=null) {
if(carArray[i].getNo().equals("2389")) { // 2389 차량 조회
carArray[i].setOutTime(12); // 출차 시간 설정
carArray[i].calculateFee(); // 주차요금 계산
Car.headerPrint();
carArray[i].print();
}
}
}
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]!=null) {
if(carArray[i].getFee()>0) { // 주차요금이 있다면 null로 변경하여 출차 액션
carArray[i]=null;
}
}
}
Car.headerPrint();
for (int i = 0; i < carArray.length; i++) {
if(carArray[i]!=null)
carArray[i].print();
}
}
}
배열 객체에 대한 다양한 케이스별 조건문을 통한 호출을 진행 해보았습니다!
'JAVA 연습장' 카테고리의 다른 글
DAO(Data Access Object) 사용해서 JDBC 코딩 해보기 1 (feat. 객체 없이 직접 데이터 값 DAO에 넣고 출력) (0) | 2021.07.23 |
---|---|
JAVA 코딩 연습 (ArrayList 활용하여 코딩 연습하기!, Feat_Iterator) (0) | 2021.06.28 |
JAVA 코딩 연습(포함을 사용해서 코딩하기!) (0) | 2021.06.13 |
JAVA 코딩 연습(객체&배열 활용하여 코딩 연습 3!) (0) | 2021.06.12 |
JAVA 코딩 연습(배열 활용하여 코딩 연습 2!) (0) | 2021.06.11 |
Comments