exersize_java02(2)
package exersize_java02;
public class Ex07 {
public static void main(String[] args) {
// Ex7 : for문을 이용해서 다음과 같이 * 를 출력하는 코드를 작성해보세요.
// *
// **
// ***
// ****
// aaaab / i가 1번째 돌 때 a는 4개
// aaabb / i가 2번째 돌 때 a는 3개
// aabbb / i가 3번째 돌 때 b는 3개
// abbbb / i가 4번째 돌 때 b는 4개
// bbbbb / i가 4번째 돌 때 b는 5개
for(int i = 1; i <= 5; i++){
for(int k = 5; k > i; k--){
System.out.printf(" ");
}
for(int j = 1; j < i; j++){
System.out.printf("*");
}
System.out.println("*");
} // for의 끝
// 나중에 언젠간 2번 써서 성공해보기...
// for(int i = 1; i <= 5; i++){
// for(int j = 1; j <= i; j++){
// System.out.printf("*");
// }
// System.out.printf("%n", "*");
} // main의 끝
}
package exersize_java02;
import java.util.Scanner;
public class Ex08 {
public static void main(String[] args) {
// Ex8 : while문과 Scanner를 이용해서 키보드로 입력된 데이터로 예금, 출금, 조회, 종료 기능을 제공하는 코드를 작성해보세요.
// 프로그램을 실행하면 Result 같은 실행결과가 나와야 합니다. (Scanner의 nextLine() 메소드 사용)
// 예금액 - depositAmount
// 출금액 - withdrawalAmount
// 잔고 - accountBalance
boolean run = true;
int balance = 0; // 잔고
String depositAmount = ""; // 예금액
String withdrawalAmount = ""; // 출금액
Scanner sc = new Scanner(System.in);
// 종료조건 걸기 : break;
while (run) {
System.out.println("-------------------------------------");
System.out.println("1.예금 | 2.출금 | 3.잔고 | 4.종료");
System.out.println("-------------------------------------");
System.out.printf("선택 : ");
String choice = sc.nextLine();
if(choice.equals("1")){
System.out.printf("예금액 : ");
String str = sc.nextLine();
depositAmount = str;
int de = Integer.parseInt(depositAmount); // 예금
balance += de;
continue;
}
if (choice.equals("2")) {
System.out.printf("출금액 : ");
String str = sc.nextLine();
withdrawalAmount = str;
int wi = Integer.parseInt(withdrawalAmount); // 출금
balance -= wi;
continue;
}
if (choice.equals("3")) {
System.out.println("잔고 : " + balance);
}
if(choice == "4"){
break;
} //--- write your core here ---
} // while의 끝
System.out.println("프로그램 종료"); // while문을 빠져나오면 출력하는 것
} // main의 끝
}
package exersize_java02;
public class Ex09 {
public static void main(String[] args) {
// Ex9 : 4개의 정수값 가운데 최댓값을 구하여 출력하는 int max4(int a, int b, int c, int d) 메소드를 작성해주세요.
// 호출
System.out.println(max4(10, 9, 5, 2));
} // main의 끝
// 메서드 작성
public static int max4(int a, int b, int c, int d){
// 실습5의 예시를 참고해서 해보기
// 변수 선언
int max = a;
// 비교하기
if(max < b){
max = b;
}
if(max < c){
max = c;
}
if(max < d){
max = d;
}
return max;
}
// public static int max4(int a, int b, int c, int d){
// // 내가 해본 것...그냥 비교하기
// if(a > b && a > c && a > d){
// return a;
// }
// else if(b > a && b > c && b > d){
// return b;
// }
// else if(c > a && c > b && c > d){
// return b;
// }
// else {
// return d;
// }
// } // 메서드의 끝
}
package exersize_java02;
public class Ex10 {
public static void main(String[] args) {
// Ex10 : 3개의 정수값 가운데 중앙값을 구하여 출력하는 int med3(int a, int b, int c) 메소드를 작성해주세요.
// 호출
System.out.println(med3(2, 100, 10));
} // main의 끝
// 메서드 작성
public static int med3(int a, int b, int c){
int median = a;
if(a >= b && a <= c){
return median = a;
}
if(b >= a && b <= c){
return median = b;
}
if(c >= a && c <= b){
return median = c;
}
return median;
}
}
package exersize_java02;
public class Ex11 {
public static void main(String[] args) {
// Ex11 : 1~10의 합은 (1 + 10) * 5와 같이 구할 수 있습니다.
// 이를 ‘가우스의 덧셈’이라고 하는데 이 방법을 이용하여 1부터 n까지의 정수 합을 구하는 프로그램을 작성하세요.
// System.out.println((1 + n) * n / 2);
// 호출
System.out.println(Sum1(10));
// for(int i = 1; i <= n; i++){
// sum += i;
// }
// System.out.println(sum);
} // main의 끝
// 메서드 작성
public static int Sum1(int n){
return (1 + n) * n / 2;
}
}
package exersize_java02;
import java.util.Scanner;
public class Ex12 {
public static void main(String[] args) {
// Ex12 : * 을 n개 출력하되 w개마다 줄 바꿈을 하는 프로그램을 만들어 보세요.
// *를 n개 출력하되 w개마다 줄을 바꿔서 출력합니다.
// n값: 14 // <- 14는 사용자가 입력
// w값: 5 // <- 5는 사용자가 입력
// *****
// *****
// ****
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int w = sc.nextInt();
System.out.println("n값 : " + n);
System.out.println("w값 : " + w);
for(int i = 0; i < n; i++){
if(i % w == 0){
System.out.println();
}
System.out.printf("*");
} // for의 끝
// 호출
// Star(14, 5);
} // main의 끝
// // 메서드 작성
// public static void Star(int n, int w){
// for(int i = 1; i <= n; i++){
// if(i % w == 1){
// System.out.printf("%n");
// }
// System.out.printf("*");
// } // for의 끝
// } // 메서드의 끝
}
package exersize_java02;
public class Ex13 {
public static void main(String[] args) {
// Ex13 : n단의 피라미드를 출력하는 메소드를 작성하세요.
// [4단 예시]
// *
// ***
// *****
//*******
// 1단일 때 >> *1개
// 2단일 때 >> *3개
// 3단일 때 >> *5개
// 4단일 때 >> *7개
// 일단은 1번돌 때마다 *이 2개씩 증가하는 반복문 해보기?
// 1단일 때 >> 왼 공백이 3개
// 2단일 때 >> 왼 공백이 2개
// 3단일 때 >> 왼 공백이 1개
// 4단일 때 >> 왼 공백이 0개
// 오른쪽도 마찬가지. 왼 공백개수 * 2를 한 것이 한줄 총 공백 수
// 공백이 줄어드는 반복문 해보기
// 호출
pyramid(4);
} // main의 끝
// 메서드 작성
public static void pyramid(int n){
for(int i = 0; i < n; i++){
for(int k = n - 1; k > i; k--){
System.out.printf(" ");
} // 공백 1개씩 없애기
for(int j = 0; j < i; j++){
System.out.printf("**");
} // *이 2개씩 증가하는 반복문
System.out.println("*"); // 개행하며 n단까지 반복 출력
} // for의 끝
}
}
package exersize_java02;
public class Ex14 {
public static void main(String[] args) {
// Ex14 : n단의 숫자 피라미드를 출력하는 메소드를 작성하세요.
// [5단 예시]
// 1
// 222
// 33333
// 4444444
//555555555
// 호출
Numpyramid(5);
} // main의 끝
// 메서드 작성
public static void Numpyramid(int n){
// 1. 먼저 1부터 5까지 출력하는 반복문을 쓰기
// 2. 공백 차감하는 반복문 쓰기
for(int i = 1; i <= n; i++){
for(int j = n - 1 ; j >= i; j--){
System.out.printf(" ");
}
for(int k = 1; k < i; k++){
System.out.printf("%d", i);
System.out.printf("%d", i);
}
System.out.println(i);
} // for의 끝
} // 메서드의 끝
}
package exersize_java02;
import java.util.Scanner;
public class Ex15 {
public static void main(String[] args) {
// Ex15 : 1~100까지 랜덤 숫자 맞히기 게임
// <게임 규칙>
//
// * 임의의 숫자를 생성한다. (1~100의 임의의 랜덤 정수)
// * 다음 과정을 10회 반복한다.
// 1. 플레이어로부터 숫자를 입력받는다.
// 2. 입력 받은 숫자가 임의의 숫자와 일치한다면 축하 메시지를 출력하고 반복문 탈출
// 3. 입력 받은 숫자가 임의의 숫자보다 작다면 작다는 메시지 출력
// 입력 받은 숫자가 임의의 숫자보다 크다면 크다는 메시지 출력
// 10번의 기회가 지날 동안 숫자를 맞추지 못하면 게임은 종료된다.
Scanner sc = new Scanner(System.in);
// 임의의 랜덤숫자
int randomNum = (int)(Math.random() * 100) + 1;
// 기회
int turn = 0;
// 1. 플레이어로부터 숫자 입력 받기
// false일 때 까지 반복하라는 조건을... 뭐가 10이하일 때까지 반복해.
while (++turn <= 10) {
int num = sc.nextInt();
if(num == randomNum){
System.out.println("정답! 축하합니다~");
return;
}
if(num < randomNum){
System.out.println("입력하신 숫자는 정해진 숫자보다 작습니다.");
}
if(num > randomNum){
System.out.println("입력하신 숫자는 정해진 숫자보다 큽니다.");
}
} // while의 끝
} // main의 끝
}
Comments