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("잔액이 없습니다.");
}
}
}
}