kh5일차

2022. 6. 24. 10:52코딩/Java

별찍기 12번부터21번까지 샘플 코드

public void ex12_1() {
		for(int i = 0; i<9;i++) {
			for(int j=0;(i<5)?j<i+1:j<9-i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		/*
		 if(i<5) {
			 for(int j=0;j<i+1;j++) {
				 System.out.print("*");
			 }else {
				 for(int j=0;j<9-i;j++) {
					 System.out.print("*");
				 }
			 }		 
		 }
		 */
		 
	}
    
    System.out.println("Q13.");
		for(int i=0;i<9;i++) {
			for(int j=0;(i<5)?j<5-i:j<i-3;j++) {
				System.out.print("*");
			}			
			System.out.println();
		}
		
		System.out.println("Q16.");
		for(int i=0;i<5;i++) {
			for(int j=0;j<4-i;j++) {
				System.out.print(" ");
			}
			for(int j=0;j<2*i+1;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		System.out.println("Q17.");
		for(int i=0;i<5;i++) {
			for(int j=0;j<i;j++) {
				System.out.print(" ");
			}
			for(int j=0;j<9-2*i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		System.out.println("Q18.");
		for(int i=0;i<9;i++) {
			for(int j=0;i<5?j<4-i:j<i-4;j++) {
				System.out.print(" ");
			}
			for(int j=0;i<5?j<2*i+1:j<17-2*i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		System.out.println("Q19.");
		for(int i=0;i<9;i++) {
			for(int j=0;i<5?j<5-i:j<i-3;j++) {
				System.out.print("*");
			}
			for(int j=0;i<5?j<2*i+1:j<17-2*i;j++) {
				System.out.print(" ");
			}
			for(int j=0;i<5?j<5-i:j<i-3;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		System.out.println("Q20.");
		for(int i=0;i<9;i++) {
			for(int j=0;i<5?j<i+1:j<9-i;j++) {
				System.out.print("*");
			}
			for(int j=0;i<5?j<9-2*i:j<2*i-7;j++) {
				System.out.print(" ");
			}
			for(int j=0;i<5?j<i+1:j<9-i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		System.out.println("Q21.");
		for(int i=0;i<9;i++) {
			for(int j=0;i<5?j<i+1:j<9-i;j++) {
				System.out.print(" ");
			}
			for(int j=0;i<5?j<9-2*i:j<2*i-7;j++) {
				System.out.print("*");
			}			
			System.out.println();
		}

 

do~while문

	// 6.24일
	// do~while문
	public void test2() {
		Scanner sc = new Scanner(System.in);
		System.out.println("정수를 입력하세요 : ");
		int num = sc.nextInt();
		do {
			System.out.println("10을입력하셨네요");
			num++;
		} while (num == 10);
		/*
		 * while(num==10) { System.out.println("10을입력하셨네요"); num++; }
		 */
	}

	// for 무한루프
	// while 무한루프
	public void test3() {
		/*
		 * for(;;) { System.out.println("안녕하세요"); }
		 */
		while (true) {
			System.out.println("안녕하세요");
		}
	}

	public void test4() {
		Scanner sc = new Scanner(System.in);
		while (true) {
			System.out.println("안녕하세요");
			System.out.print("한번 더 출력 할까요(1.y/2.n)? : ");
			int sel = sc.nextInt();
			if (sel == 1) {
				System.out.println("ok");
			} else {
				break;
			}
			System.out.println("반복문 마지막 부분");
		}
		System.out.println("반복문 종료시 실행되는 코드");
	}

	public void test5() {
		Scanner sc = new Scanner(System.in);
		for (int i = 0; i < 5; i++) {
			System.out.println("i : " + i);
			System.out.print("1/2/3중 하나를 선택하세요");
			int sel = sc.nextInt();
			if (sel == 1) {
				break;
			} else if (sel == 2) {
				continue;
			} else {
				System.out.println("그외 나머지");
			}
			System.out.println("반복문 마지막부분");
		}
		System.out.println("반복문 끝나면 출력되는 문구");
	}

}

랜덤값 실습

package kh.java.func;

import java.util.Random;
import java.util.Scanner;
//6월24일

public class RandomTest {
	public void test1() {
		// 난수 : 임의의값 / 무작위로 만들어지는값
		// 자바에서 제공하는 기능 : Random
		// Random 사용법
		// 1)java.util.Random
		// 2)Random r = new Random();
		Random r = new Random();
		r.nextInt(); // int 범위 내의 랜덤 숫자 1개 가져옴
		int num = r.nextInt();
		System.out.println(num);
		// random수의 범위를 지정하는법
		int num1 = r.nextInt(10);// ()괄호안의 숫자를 적으면 0~그 숫자중 랜덤1개를 가져옴
		System.out.println(num1);
		int num2 = r.nextInt(16);
		System.out.println(num2);
		// 10~30
		int num3 = r.nextInt(21) + 10;// 0~20+10 r.nextInt(랜덤후보갯수)+시작숫자;
		System.out.println(num3);
		int num4 = r.nextInt(16) + 20;
		System.out.println(num4);
	}

	public void coin() {
		Random r = new Random();
		Scanner sc = new Scanner(System.in);
		int win = 0;// 정답맞춘 횟수저장용
		int lose = 0;// 틀린 횟수저장용

		while (true) {
			System.out.println("=====동전 앞/뒤 맞추기=====");
			System.out.println("1. Game Start");
			System.out.println("2. Game Score");
			System.out.println("3. End Game");
			System.out.print("선택 > ");
			int sel = sc.nextInt();

			if (sel == 1) {
				// System.out.println("게임진행");
				int coin = r.nextInt(2) + 1; // 유저에게 앞면/뒷면 선택(1/2)
				System.out.print("선택하세요 (1.앞면/2.뒷면) : ");
				int userSelect = sc.nextInt();
				if (coin == userSelect) {
					win++;
					System.out.println("정답입니다.");
				} else {
					lose++;
					System.out.println("땡!");
				}
			} else if (sel == 2) {
				System.out.println("-----Game Score-----");
				System.out.println("Win : " + win);
				System.out.println("Lose : " + lose);
			} else if (sel == 3) {
				System.out.println("게임종료");
				break;
			}
		} // 메뉴 부한반복 while 종료지점

		// 랜덤 숫자로 1 or 2를 저장
		// 1:앞면,2:뒷면

		// System.out.println("coin : "+coin);
	}

	// 가위 바위 보 게임
	public void ex1() {
		Random r = new Random();
		Scanner sc = new Scanner(System.in);
		int win = 0;
		int lose = 0;
		int draw = 0;
		while (true) {
			System.out.println("1. Game Start");
			System.out.println("2. Game Score");
			System.out.println("3. End Game");
			System.out.print("선택 > ");
			int sel = sc.nextInt();

			if (sel == 1) {
				System.out.println("===가위 바위 보 게임===");
				System.out.print("숫자를 선택하세요(1.가위/2.바위/3.보) : ");
				int num1 = sc.nextInt();
				int game = r.nextInt(3) + 1;
				if (num1 == 1) {
					System.out.println("당신은 가위를 냈습니다.");
				} else if (num1 == 2) {
					System.out.println("당신은 바위를 냈습니다.");
				} else if (num1 == 3) {
					System.out.println("당신은 보를 냈습니다.");
				}
				if (game == 1) {
					System.out.println("컴퓨터는 가위를 냈습니다.");
				} else if (game == 2) {
					System.out.println("컴퓨터는 바위를 냈습니다.");
				} else if (game == 3) {
					System.out.println("컴퓨터는 보를 냈습니다.");
				}
				if ((num1 == 1 && game == 3) || (num1 == 2 && game == 1) || (num1 == 3 && game == 2)) {
					System.out.println("당신이 이겼습니다.");
					win++;
				} else if ((num1 == 1 && game == 2) || (num1 == 2 && game == 3) || (num1 == 3 && game == 1)) {
					System.out.println("당신이 졌습니다.");
					lose++;
				} else if (num1 == game) {
					System.out.println("비겼습니다.");
					draw++;
				}
			} else if (sel == 2) {
				System.out.println("-----Game Score-----");
				System.out.println("Win : " + win);
				System.out.println("Lose : " + lose);
				System.out.println("draw : " + draw);
			} else if (sel == 3) {
				System.out.println("게임종료");
				break;
			}
		}
	}

	public void UpAndDown() {
		Random r = new Random();
		Scanner sc = new Scanner(System.in);
		System.out.println("게임 시작");
		int randomNum = r.nextInt(99) + 1;
		int score = 0;
		while (true) {
			System.out.println("1. Game Start");
			System.out.println("2. Game Score");
			System.out.println("3. End Game");
			System.out.print("선택 > ");
			int sel = sc.nextInt();

			if (sel == 1) {
				int i = 1;
				while (true) {
					System.out.print(i + "회차 번호 입력 : ");
					int num = sc.nextInt();
					if (num == randomNum) {
						if (score > i || score == 0) {
							score = i;
						}
						System.out.println("정답");

						break;
					} else if (num >= 100) {
						System.out.println("<<입력 범위 오류>>");
					} else if (num <= randomNum) {
						System.out.println("<<up>>");
						i++;
					} else if (num >= randomNum) {
						System.out.println("<<donw>>");
						i++;
					}
				}

			} else if (sel == 2) {
				if (score == 0) {
					System.out.println("아직 기록이 없습니다.");
				} else {
					System.out.println("최고기록은" + score + "번입니다.");
				}

			} else if (sel == 3) {
				break;
			}
		}
	}

	public void BaskinRobiins() {
		Random r = new Random();
		Scanner sc = new Scanner(System.in);
		System.out.println("게임 시작");
		int WIN = 0;
		int LOSE = 0;
		while (true) {
			System.out.println("1. Game Start");
			System.out.println("2. Game Score");
			System.out.println("3. End Game");
			System.out.print("선택 > ");
			int sel = sc.nextInt();
			int sub = 0;
			int turn = 1;
			if (sel == 1) {
				while (true) {
					if (sub >= 31 && turn % 2 == 1) {
						System.out.println("승리!!!");
						WIN++;

					} else if (sub >= 31 && turn % 2 == 0) {
						System.out.println("패배!!");
						LOSE++;

					}
					if (turn % 2 == 1) {
						System.out.println("<<Your Turn>>");
						System.out.print("Input Number : ");
						int num1 = sc.nextInt();
						if (num1 <= 3 && num1 >= 1 && sub <= 30) {
							turn++;
							for (int i = 0; i < num1 && sub <= 30; i++) {
								sub++;
								System.out.println(sub + "!");
							}
						} else {
							System.out.println("1~3을 입력해주세요");
						}
					} else if (turn % 2 == 0) {
						System.out.println("<<Com Turn>>");
						turn++;
						int randomNum = r.nextInt(3) + 1;
						for (int i = 0; i < randomNum && sub <= 30; i++) {
							sub++;
							System.out.println(sub + "!");
						}
					}
				}
			} else if (sel == 2) {
				System.out.println("WIN : " + WIN);
				System.out.println("LOSE : " + LOSE);
			} else if (sel == 3) {
				break;
			}
		}

	}

	public void dice() {
		Random r = new Random();
		Scanner sc = new Scanner(System.in);
		int money = 10000;
		int win = 0;
		int lose = 0;
		int draw = 0;
		while (true) {
			System.out.println("1. Game Start");
			System.out.println("2. Game Score");
			System.out.println("3. End Game");
			System.out.print("선택 > ");
			int sel = sc.nextInt();

			if (sel == 1 && money > 0) {
				while (true) {
					System.out.println("게임 시작");

					int randomNum1 = r.nextInt(6) + 1;
					int dice1 = randomNum1;
					int randomNum2 = r.nextInt(6) + 1;
					int dice2 = randomNum2;
					int randomNum3 = r.nextInt(6) + 1;
					int dice3 = randomNum3;
					int sub1 = dice1 + dice2 + dice3;

					System.out.print("1번 주사위 값 : " + dice1);
					System.out.println();
					System.out.print("2번 주사위 값 : " + dice2);
					System.out.println();
					System.out.print("3번 주사위 값 : " + dice3);
					System.out.println();
					System.out.print("내 주사위 총 합 : " + sub1);
					System.out.println();
					System.out.print("배팅하시겠습니까? [y/n] : ");

					char ch = sc.next().charAt(0);
					if (ch == 'y') {
						int bat = 0;
						while (true) {
							System.out.print("얼마를 배팅하시겠습니까 (현재 내 소지금" + money + "원) : ");
							bat = sc.nextInt();
							if (bat > money) {
								System.out.println("금액이 부족합니다.");
							} else {
								break;
							}
						}
						int randomNum4 = r.nextInt(6) + 1;
						int dice4 = randomNum4;
						int randomNum5 = r.nextInt(6) + 1;
						int dice5 = randomNum5;
						int randomNum6 = r.nextInt(6) + 1;
						int dice6 = randomNum6;
						int sub2 = dice4 + dice5 + dice6;
						System.out.print("컴퓨터 1번 주사위 값 : " + dice4);
						System.out.println();
						System.out.print("컴퓨터 2번 주사위 값 : " + dice5);
						System.out.println();
						System.out.print("컴퓨터 3번 주사위 값 : " + dice6);
						System.out.println();
						System.out.print("컴퓨터 주사위 총 합 : " + sub2);
						System.out.println();

						if (sub1 > sub2) {
							System.out.println("승리!!");
							win++;
							System.out.println("+" + bat + "원");
							money += bat;
							System.out.print("한번더하시겠습니까? [y/n] : ");
							char ch1 = sc.next().charAt(0);
							if (ch1 == 'y') {
								continue;
							}
						} else if (sub1 < sub2) {
							System.out.println("패배!!");
							lose++;
							System.out.println("-" + bat + "원");
							money -= bat;
							if (money <= 0) {
								System.out.println("거지");
								break;
							}
							System.out.print("한번더하시겠습니까? [y/n] : ");
							char ch2 = sc.next().charAt(0);
							if (ch2 == 'y') {
								continue;
							}
						} else if (sub1 == sub2) {
							System.out.println("무승부");
							draw++;
							System.out.print("한번더하시겠습니까? [y/n] : ");
							char ch3 = sc.next().charAt(0);
							if (ch3 == 'y') {
								continue;
							}
						}

					} else {
						System.out.println("메뉴로 돌아갑니다.");

					}

					break;
				}
			} else if (sel == 2) {
				System.out.println("당신의 전적");
				System.out.println("WIN : " + win);
				System.out.println("LOSE : " + lose);
				System.out.println("내 소지금 : " + money);
			} else if (sel == 3) {
				System.out.println("종료");
				break;
			} else if (sel == 1 && money <= 0) {
				System.out.println("잔액이 없습니다.");
			}
		}

	}

}

'코딩 > Java' 카테고리의 다른 글

KH9일차  (0) 2022.06.30
KH8일차  (0) 2022.06.29
KH7일차  (0) 2022.06.29
kh6일차(배열)  (0) 2022.06.27
kh4일차  (0) 2022.06.23