๐Ÿญ Projects

Project#7 _ ๋ฉ”๋‰ด ๋ชฉ๋ก์— Boolean ๊ฐ’์— ๋”ฐ๋ผ ์ถœ๋ ฅ์‹œํ‚ค๊ธฐ

CodeLoge 2025. 2. 3. 21:47

#1 ๊ณ„ํš

1-1) AdminView ํด๋ž˜์Šค์—์„œ Boolean ํƒ€์ž…์˜ ํ•จ์ˆ˜๋ฅผ ํ•œ๊ฐœ ๋งŒ๋“ค๊ณ , ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์— ๋”ฐ๋ผ ๋ฐ˜ํ™˜๊ฐ’์ด ๋ฐ”๋€Œ๋Š” ๋ฉ”์„œ๋“œ ์ƒ์„ฑ

→ ๊ด‘๊ณ  ์œ ๋ฌด๋ฅผ ๋จผ์ € ํŒŒ์•…ํ•œ ํ›„์— Y, N ๊ฐ’์— ๋”ฐ๋ผ T, F ๋ฐ˜ํ™˜

 

1-2) 1-1์—์„œ ๋ฐ˜ํ™˜๋œ ๊ฐ’์ด True ๋ผ๋ฉด, deleteAD ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰, 1-1์—์„œ ๋ฐ˜ํ™˜๋œ ๊ฐ’์ด False ๋ผ๋ฉด, addNewAd ๋ฉ”์„œ๋“œ ์‹คํ–‰

 

1-3) ClientView ํด๋ž˜์Šค์—์„œ ๋ฉ”๋‰ด์— if๋ฌธ์„ ์ƒ์„ฑํ•œ ํ›„,

๊ด‘๊ณ ๋ฅผ ์ถ”๊ฐ€ํ•œ ์ƒํ™ฉ์ด๋ฉด True๋กœ ์ธ์‹ํ•˜์—ฌ ์ž…๋ ฅํ•œ ํ•ด๋‹น ๋ฒˆํ˜ธ์˜ ์˜์ƒ ์ •๋ณด๋ฅผ ์ถœ๋ ฅ

→ ๊ด‘๊ณ ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์€ ์ƒํ™ฉ์ด๋ผ๋ฉด False๋กœ ์ธ์‹ํ•˜์—ฌ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ

 

 

#2 ์ถœ๋ ฅ๋ฌธ

public void showClientMenu(ArrayList<MovieDTO> movies) {

System.out.println("\n======== NETFLIX ๋ฉ”์ธ ๋ฉ”๋‰ด ========");

System.out.println("1. ์‹œ์ฒญํ•˜๊ธฐ");

System.out.println("2. ์ฆ๊ฒจ์ฐพ๊ธฐ");

System.out.println("3. ์˜์ƒ ๋ชฉ๋ก ์ถœ๋ ฅ");

System.out.println("4. ์˜ํ™” ์ด๋ฆ„ ๊ฒ€์ƒ‰");

System.out.println("5. ๋กœ๊ทธ์•„์›ƒ");

System.out.println("0. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ");

if (adminview.hasAD()) {

showAd();

}

System.out.println("================================");

}

์œ„์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋ฌธ๊ตฌ ์‚ฌ์ด์— if๋ฌธ์„ ์ƒ์„ฑํ•˜์—ฌ True๊ฐ’ ์ด๋ผ๋ฉด ๊ด‘๊ณ ๋ฅผ ์ถœ๋ ฅ์‹œํ‚ค๊ธฐ

 

#3 ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ

public boolean hasAD() {

return this.hasAD;

}

 

// hasAD๊ฐ’ ๋ฐ›๊ธฐ

public void setAdStatus() {

System.out.print("๊ด‘๊ณ ๊ฐ€ ์ด๋ฏธ ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? (Y/N) >> ");

String answerAD = sc.nextLine().toUpperCase();

if (answerAD.equals("Y")) {

this.hasAD = true;

}

if (answerAD.equals("N")) {

this.hasAD = false;

}

}

 

// ์ƒˆ ๊ด‘๊ณ  ์˜์ƒ ๋“ฑ๋ก

public int addNewAd() {

System.out.println("\n======== ๊ด‘๊ณ  ์˜์ƒ ๋“ฑ๋ก ========");

while (true) {

try {

System.out.print("๊ด‘๊ณ ๋กœ ๋“ฑ๋กํ•  ์˜์ƒ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” >> ");

this.adMovieId = Integer.parseInt(sc.nextLine());

return this.adMovieId;

} catch (NumberFormatException e) {

System.out.println("โŒ ์˜ฌ๋ฐ”๋ฅธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.");

}

}

}

 

// ๊ธฐ์กด ๊ด‘๊ณ  ์‚ญ์ œ ํ™•์ธ

public boolean deleteAD() {

System.out.println("\nโš ๏ธ ๊ด‘๊ณ ๊ฐ€ ์ด๋ฏธ ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.");

while (true) {

System.out.print("ํ˜„์žฌ ๊ด‘๊ณ ๋ฅผ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (Y/N) >> ");

String answer = sc.nextLine().trim().toUpperCase();

if (answer.equals("Y"))

return true;

if (answer.equals("N"))

return false;

System.out.println("โŒ Y ๋˜๋Š” N์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.");

}

}

 

#4 Controller ์ฝ”๋“œ

else if (adminChoice == 8) {

adminView.setAdStatus();

if(adminView.hasAD()) {

adminView.deleteAD();

}

if(!adminView.hasAD()) {

adminView.addNewAd();

 

}

}

 

์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•„ ์ง€์†์ ์œผ๋กœ ์‹œ๋„ํ•  ์˜ˆ์ •...