KH8일차
2022. 6. 29. 18:25ㆍ코딩/Java
메소드 테스트1
package kh.java.func;
import kh.java.func2.MethodTest2;
import java.util.Scanner;
public class MethodTest {
public void test6() {
int num = 100;
System.out.println("num : "+num);
test7(num);//매개변수로 기본형 데이터를 전송시 값을 복사한후
//복사해서 사용하기때문에 원본데이터를 건드리지않는다
System.out.println("num : "+num);
int[]arr= {1,2,3,4,5};
int[]arr1=arr;//주소값복사
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
//참조형데이터를 매개변수로 전달하면
//주소값이 전달 -> 얕은복사
test8(arr);
System.out.println(arr[2]);
test9(arr[2]);
System.out.println(arr[2]);
}
public void test7(int num) {
num += 100;
System.out.println("test7 : "+num);
}
public void test8(int[]arr) {
arr[2]=100;
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
public void test9(int num) {
num += 300;
}
public void test5() {
Scanner sc = new Scanner(System.in);
System.out.print("첫번째 정수 입력 : ");
int num1 = sc.nextInt();
System.out.print("두번째 정수 입력 : ");
int num2 = sc.nextInt();
// 두 수의 합을 출력 -> 메소드로 분리
// 입력 받은 두 수를 합쳐주는 메소드를 호출하고 결과를 받을것
int sum = add(num1, num2);
System.out.println("입력받은 두 수의 합은 : " + sum);
// 입력 받은 두 수의 나눅; 결과를 받아오는 메소드 생성
// 나누기 결과는 실수타입으로 메소드 이름 ->div
// 10 3 -> 3.33
double div1 = div(num1, num2);
div2(num1,num2);
System.out.printf("입력 받은 두 수의 나눈값은 : %.2f", div1);
}
public int add(int su1, int su2) {
System.out.println("su1 : " + su1);
System.out.println("su2 : " + su2);
int sum = su1 + su2;
return sum;
}
public void div2(int num1, int num2) {
double result = (double) num1 / num2;
System.out.println(result);
}
public double div(int num1, int num2) {
double result = (double) num1 / num2;
return result;
}
public void test1() {
System.out.println("test1메소드 입니다.");
test2();
int num = test4();
}
private void test2() {
System.out.println("test2메소드 입니다.");
return;
}
public int test4() {
return 100;
}
}
메소드 테스트2
package kh.java.func2;
public class MethodTest2 {
public void test3(){
System.out.println("test3메소드입니다.");
}
}
메소드 테스트3
package kh.java.func;
import java.util.Scanner;
public class MethodTest3 {
public void test1() {
Scanner sc = new Scanner(System.in);
System.out.println("정수를 입력하세요 : ");
int num1 = sc.nextInt();
System.out.println("정수를 입력하세요 : ");
int num2 = sc.nextInt();
System.out.println("정수를 입력하세요 : ");
int num3 = sc.nextInt();
}
//add메소드 생성
//매개변수로 정수를 받아서 합친 결과를 리턴하는 메소드
public int add(int num1,int num2) {
return (num1+num2);
}
public int add2(int num1,int num2,int num3) {
return (num1+num2+num3);
}
}
TV
package kh.java.func;
public class TV {
public int size; // TV사이즈
public boolean power; // 전원
public int ch; // 채널
public int vol; // 볼륨
//현재 power 변수의 값을 반대로 변경 (on<->off)
public void power() {
power = !power;
if(power) {
System.out.println("전원이 켜졌습니다.");
}else {
System.out.println("전원이 꺼졌습니다.");
}
}
//현재 ch변수 값을 1 증가(현재 채널번호에서 1증가한번호로 변경)
public void chUp() {
ch++;
System.out.println("현재 채널 번호 : "+ch);
}
//현재 ch변수 값을 1 감소(현재 채널번호에서 1감소한번호로 변경)
public void chDown() {
ch--;
System.out.println("현재 채널 번호 : "+ch);
}
//현재 vol변수 값을 1증가
public void volUp() {
vol++;
System.out.println("현재 소리 크기 : "+vol);
}
//현재 vol변수 값을 1감소
public void volDown() {
vol--;
System.out.println("현재 소리 크기 : "+vol);
}
}
카페
package kh.java.func;
import java.util.Scanner;
public class Cafe {
int kind; //1.아메리카노,2...
boolean temp; //true:아이스, false:핫
boolean size; //true:tall, false:grande
int shot; //샷추가
boolean money; //true:card, false:현금
boolean inOut; //true:매장,false:테이크아웃
int amount; //구매수량
Scanner sc = new Scanner(System.in);
//카페 운영시작메소드
public void start() {
while(true) {
System.out.println("--------------------");
System.out.println("1. 메뉴판보기");
System.out.println("2. 주문하기");
System.out.println("3.주문내역확인");
System.out.println("4. 종료");
System.out.print("선택 > ");
int select = sc.nextInt();
switch(select) {
case 1:
showMenu();
break;
case 2:
order();
break;
case 3:
showLastOrder();
break;
case 4:
System.out.println("종료");
return;
}
}
}
//주문하기 메소드
public void showLastOrder() {
System.out.println("=====최근 주문 내역=====");
if(kind == 1) {
System.out.println("음료 종류 : 아메리카노");
}else if(kind==2) {
System.out.println("음료 종류 : 카페라떼");
}else if(kind==3) {
System.out.println("음료 종류 : 카페모카");
}else if(kind==4) {
System.out.println("음료 종류 : 아이스티");
}else if(kind==5) {
System.out.println("음료 종류 : 카모마일");
}
if(temp) {
System.out.println("온도 : ICE");
}else {
System.out.println("온도 : HOT");
}
if(size) {
System.out.println("사이즈 : tall");
}else {
System.out.println("사이즈 : grande");
}
if(kind != 5) {
System.out.println("샷추가 : "+shot+"회");
}else {
System.out.println("샷추가 : 0회");
}
if(money) {
System.out.println("카드결제");
}else {
System.out.println("현금결제");
}
if(inOut) {
System.out.println("매장이용");
}else {
System.out.println("테이크아웃");
}
System.out.println("주문수량 : "+amount);
}
public void order() {
showMenu();
System.out.print("음료를 선택하세요 > ");
kind = sc.nextInt();
System.out.print("온도선택[1.ICE / 2.HOT] : ");
int tempSel = sc.nextInt();
if(tempSel == 1) {
temp = true;
}else {
temp = false;
}
System.out.print("음료 사이즈 선택[1.tall / 2.grand] : ");
int sizeSel = sc.nextInt();
if(sizeSel == 1) {
size = true;
}else {
size = false;
}
if(kind != 5) {
System.out.print("샷추가 몇번 하시겠습니까?");
shot = sc.nextInt();
}
System.out.print("결제수단 선택[1.카드 / 2.현금] : ");
int moneySel = sc.nextInt();
if(moneySel == 1) {
money = true;
}else {
money = false;
}
System.out.print("[1.매장 / 2.테이크아웃] : ");
int inOutSel = sc.nextInt();
if(inOutSel == 1) {
inOut = true;
}else {
inOut = false;
}
System.out.print("수량을 입력하세요 : ");
amount = sc.nextInt();
System.out.println("주문이 완료 되었습니다.");
brewing();
}
public void brewing() {
System.out.println(" o");
delay(500);
System.out.println(" o");
delay(500);
System.out.println(" o");
delay(500);
System.out.println(" o");
delay(500);
System.out.println(" o");
delay(500);
System.out.println("│~~~~~~~~├─┐");
System.out.println("│ │ │");
System.out.println("│ ├─┘");
System.out.println("│ │ ");
System.out.println("│ │ ");
System.out.println("└────────┘ ");
System.out.println("음료 나왔습니다!!!!");
}
public void delay(int time) {
try {
Thread.sleep(time);
}catch(InterruptedException e) {
e.printStackTrace();
}
}
//메뉴판출력메소드
public void showMenu() {
System.out.println("======음료======");
System.out.println("1. 아메리카노");
System.out.println("2. 카페라떼");
System.out.println("3. 카페모카");
System.out.println("4. 아이스티");
System.out.println("5. 카모마일");
}
}