1 팁
1.
2 복습
1. for문
package j0518;
public class C0518_01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
// 1부터 10까지의 합 for문을 활용해서
for (int i = 1; i <= 10; i++) {
sum += i;
}
System.out.println(sum);
int sum1 = 0;
// 1부터 100까지의 합 for문을 활용해서
for (int i = 1; i <= 100; i++) {
sum1 += i;
}
System.out.println(sum1);
int sum2 = 0;
// 1부터 1000까지의 합 for문을 활용해서
for (int i = 1; i <= 1000; i++) {
sum2 += i;
}
System.out.println(sum2);
}
}
2. sysout
package j0518;
public class C0518_02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("안녕하세요");
System.out.print("반갑습니다");
System.out.printf("이렇게 하면 어떻게 될까요?");
int a = 10;
int b = 100;
System.out.println("a : " + a + " b : " + b);
System.out.printf("\n a: %d:, b: %d \n", a, b);
int num = 1, num2 = 2, num3 = 3;
System.out.println(" num : " + num + " num2 : " + num2 + " num3 : " + num3);
System.out.printf("num = %d, num2 = %d, num3 = %d \n", num, num2, num3);
}
}
// int sum = 0;
// // 1부터 10까지의 합 for문을 활용해서
// for (int i = 1; i <= 10; i++) {
// sum += i;
// }
// System.out.println(sum);
// int sum1 = 0;
// // 1부터 100까지의 합 for문을 활용해서
// for (int i = 1; i <= 100; i++) {
// sum1 += i;
// }
// System.out.println(sum1);
// int sum2 = 0;
// // 1부터 1000까지의 합 for문을 활용해서
// for (int i = 1; i <= 1000; i++) {
// sum2 += i;
// }
// System.out.println(sum2);
3. if문
package j0518;
import java.util.Scanner;
public class C0518_03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int sum = 0;
System.out.println("1번째 숫자 입력하세요");
int num1 = scan.nextInt();
System.out.println("2번째 숫자 입력하세요");
int num2 = scan.nextInt();
// 1)
// for (int i = num1; i <= num2; i++) {
// sum += i;
// }
// 2)
int temp = 0;
if (num1 > num2) {
temp = num2; // num2 =1, num1= 2일 경우 temp=1
num1 = num2; // num1 = 1
num2 = temp; // num2 = 1
}
System.out.printf("%d부터 %d까지의 합", num1, num2);
// System.out.println(sum);
}
}
// int sum = 0;
// // 1부터 10까지의 합 for문을 활용해서
// for (int i = 1; i <= 10; i++) {
// sum += i;
// }
// System.out.println(sum);
// int sum1 = 0;
// // 1부터 100까지의 합 for문을 활용해서
// for (int i = 1; i <= 100; i++) {
// sum1 += i;
// }
// System.out.println(sum1);
// int sum2 = 0;
// // 1부터 1000까지의 합 for문을 활용해서
// for (int i = 1; i <= 1000; i++) {
// sum2 += i;
// }
// System.out.println(sum2);
4. 대문자 변환
package j0518;
import java.util.Scanner;
public class C0518_04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 문자를 입력받아 해당 소문자로 변환하시오.
Scanner scan = new Scanner(System.in);
// 대문자 : A-65,66,Z-96 소문자 : a-97,98..
System.out.println("소문자를 입력하면 대문자로 변환됩니다.");
char ch = scan.next().charAt(0);
// 대문자,소문자인지 비교
if (ch <= 96) {
ch = (char) (ch + 32);
} else {
ch = (char) (ch - 32);
}
System.out.println(ch);
}
}
// System.out.println("문자를 입력하세요");
// char ch = scan.next().charAt(0);
// ch = (char) (ch - 32);
// System.out.println(ch);
걍 처음부터 복습
3 이론
1. 파라미터 테스트
2. 클래스매서드와 인스턴스메서드
3. 메서드 호출
4.
4 실습
1. 메뉴판 구성
package j0518;
import java.util.Scanner;
public class C0518_09 {
static Scanner scan = new Scanner(System.in);
static int myMoney = 1000;
static int choice = 0, temp = 0;
public static void main(String[] args) {
// 자판기 프로그램
// 1. 밀크커피 2.헤이즐럿커피 3. 블랙커피 4. 코코아 5. 우유
// 300,500,350,300,400
// 6. 잔액충전
while (true) {
System.out.println("[학교다방 자판기]");
System.out.println("1. 밀크커피 300");
System.out.println("2. 헤이즐럿커피 500");
System.out.println("3. 블랙커피 350");
System.out.println("4. 코코아커피 300");
System.out.println("5. 우유 400");
System.out.println("6. 잔액충전");
System.out.println("0. 프로그램 종료");
System.out.println("---------------------");
System.out.printf("현재 잔액 : %,d \n", myMoney);
System.out.println("원하는 번호 입력하세요");
choice = scan.nextInt();
switch (choice) {
case 1:
myMoney = order(myMoney, 300, "밀크커피");
break;
case 2:
myMoney = order(myMoney, 500, "헤이즐럿커피");
break;
case 3:
myMoney = order(myMoney, 350, "블랙커피");
break;
case 4:
myMoney = order(myMoney, 300, "코코아커피");
break;
case 5:
myMoney = order(myMoney, 400, "우유");
break;
case 6:
cash();
case 0:
System.out.println("종료합니다.");
break;
}// switch
} // while
}
static int order(int myMoney, int price, String title) {
if (myMoney >= price) {
System.out.println(title + "가 나옵니다.");
myMoney -= price;
} else {
System.out.println("잔액이 부족합니다.");
}
return myMoney;
}// static
static void cash() {
System.out.println("충전하시려면 1을 눌러주세요");
choice = scan.nextInt();
if (choice == 1) {
System.out.println("충전할 금액을 입력하세요");
temp = scan.nextInt();
myMoney += temp;
System.out.println("[충전이 되었습니다] ");
System.out.println();
System.out.println("현재잔액 : " + myMoney);
System.out.println("충전금액 : " + temp);
} else
System.out.println("시스템에 오류가 있습니다. 다시 실행해주세요.");
System.out.println();
}
}
2. 팩토리얼 2
package j0518;
import java.util.Scanner;
public class C0518_01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
// 1부터 10까지의 합 for문을 활용해서
for (int i = 1; i <= 10; i++) {
sum += i;
}
System.out.println(sum);
int sum1 = 0;
// 1부터 100까지의 합 for문을 활용해서
for (int i = 1; i <= 100; i++) {
sum1 += i;
}
System.out.println(sum1);
int sum2 = 0;
// 1부터 1000까지의 합 for문을 활용해서
for (int i = 1; i <= 1000; i++) {
sum2 += i;
}
System.out.println(sum2);
// 숫자를 입력받아 해당되는 팩토리얼 구현
Scanner scan = new Scanner(System.in);
int num = 1;
System.out.println("값을 입력하세요");
int fac = scan.nextInt();
for (int i = fac; i > 0; i--) {
num *= i;
System.out.println("num :" + num);
}
System.out.println("결과값 : " + num);
}
}
5 문제풀이
1. 로또 프로그램
package j0518;
import java.util.Scanner;
public class C0518_08 {
static int input = 0;
static int[] lotto = new int[45];
static int[] myNum = new int[6];
static int[] myLotto = new int[6];
static int temp = 0, random = 0, count = 0;
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
// 로또 맞추기
// 1~45까지 숫자입력
// 1~45까지 숫자를 lotto 넣기
while (true) {
System.out.println();
System.out.println("[로또프로그램 생성]");
System.out.println("1.로또번호 생성");
System.out.println("2.로또번호 입력");
System.out.println("3.로또번호 당첨 확인");
System.out.println("0. 종료");
System.out.println();
System.out.println("번호를 입력하세요");
input = scan.nextInt();
switch (input) {
case 1:
creationlotto();
System.out.println("로또번호가 생성되었습니다.");
break;
case 2:
inputlotto();
break;
case 3:
outputlotto();
break;
case 0:
if (input == 0) {
System.out.println("종료합니다.");
break;
}
break;
}// switch input
} // while
}// main
// 1. 생성
static void creationlotto() {
// 1~45번까지 숫자 lotto 넣기
for (int i = 0; i < lotto.length; i++) {
lotto[i] = i + 1;
}
// 섞기
for (int i = 0; i < 100; i++) {
random = (int) (Math.random() * 45);
temp = lotto[0];
lotto[0] = lotto[random];
lotto[random] = temp;
}
}
// 2. 입력
static void inputlotto() {
// 입력
for (int i = 0; i < myNum.length; i++) {
System.out.println();
System.out.println((i + 1) + "번째 값을 입력하세요");
myNum[i] = scan.nextInt();
System.out.print("현재까지 입력한 값 : ");
for (int j = 0; j < myNum.length; j++) {
System.out.print(myNum[j] + " ");
// count++;
}
}
// for (int i = 0; i < myNum.length; i++) {
// }
// 확인
for (int i = 0; i < myNum.length; i++) {
for (int j = 0; j < myNum.length; j++) {
if (lotto[i] == myNum[j]) {
myLotto[count] = lotto[i];
count++;
break;
}
}
}
}
// 3. 당첨 확인
static void outputlotto() {
System.out.print("추첨번호 확인 : ");
for (int i = 0; i < myNum.length; i++) {
System.out.print(lotto[i] + " ");
}
System.out.println();
System.out.print("입력번호 확인 : ");
for (int i = 0; i < myNum.length; i++) {
System.out.print(myNum[i] + " ");
}
System.out.println();
System.out.print("당첨번호 확인 : ");
for (int i = 0; i < myNum.length; i++) {
System.out.print(myLotto[i] + " ");
}
System.out.println();
System.out.print("당첨횟수 확인 : " + count);
}
}// class
* 핵심
- static 활용법 이해하기
* 0518 실습 링크
728x90
반응형
LIST
'배운 책들 정리 > 자바 완전 정복' 카테고리의 다른 글
자바의 정석 7 - 객체지향개념 2 (상속, 오버라이딩, this, get&set) (0) | 2023.05.23 |
---|---|
자바의 정석 6-3 - 객체지향개념1 (0) | 2023.05.22 |
자바 완전 정복 6 - 객체지향개념 (0) | 2023.05.18 |
자바의 정석 5,6 - 배열, 객체 (수정중) (0) | 2023.05.17 |
자바의 정석 4,5 - 조건문,반복문,배열 2 (1) | 2023.05.13 |