#8 day7복습, 팀별 과제 수행, Intelli J 설치 및 이클립스 적용
[0] Intelli J 단축키
// main 메소드
// > main + enter
public static void main(String[] args) {};
// > Sout + enter
// System.out.println();
// 한 줄 복사
// > Ctrl + D
// 한 줄 제거
// > Ctrl + Y
// {} 내부 자료 숨기기
// > Ctrl + .
// 저장
// > Ctrl + S
// 주석
// > Ctrl + /
// 실행
// > Shift + F10
soutv : 작성시, print 객체 나옴
Command + Option(alt) + V : 변수 추출
Command + Option(alt) + m : 메소드 추출
F6 : 클래스 추출 (클래스 이름 드래그 후 f6 ➡️ 상위 클래스 추출 혹은 클래스 패키지 이동)
Command + Option(alt) + n : 인라인 = 중복된 코드 추합
Command + shift + u : 전부 대소문자 변환 - upper case / downer case
Ctrl + Command + u : translation 번역 모듈 실행
Ctrl + Command + O : 한글 문자에 맞는 변수명 추천.. ㄷ ㄷ ㄷ
command + p : 메소드 파라미터 힌트 보기
ctrl + shift + / : /* */ 요 주석
ctrl + / : // 요 주석
[인텔리제이 기타 단축키]
command + shift + T : 테스트 파일 생성
Option(alt) + shift + n : 지라 에픽, 브랜치로 따기
프로젝트 위치에서, command + n : 새로운 파일 생성 단축키
command + e : 최근 연 파일 목록들 조회
command + 1 : 인텔리제이 사이드 메뉴 열고 닫기.
option + command + b : 인터페이스 인경우 impl 하고 있는 구현체로 바로 이동
command + [
command + ] : 탭 이동
option(alt) + shift + 클릭 : 인텔리제이 다중 커서, 다중 선택
F2 : Class 내 오류 난 곳으로 이동
ctrl + g : 같은 단어 선택 (vs code - ctrl + d 랑 같은 단축키)
[1] 팀별 과제
Q. 배열을 사용한 KIOSK 프로그램 만들기 ( while문, switch문 사용)
1. 입력 받기위한 기본적인 사항과 변수를 지정해 줍니다.
// 입력 받기
Scanner sc = new Scanner(System.in);
// 논리 연산 2로 구분 작성;
boolean run = true;
boolean run2 = true;
// 가격, 갯수 변수 = 0;
int price = 0;
int count = 0;
System.out.println("========= 환영합니다 현수버거입니다 =========");
// total 배열을 30으로 한정
String[] total = new String[30];
2. 입력 받을걸 while을 통해 반복 시키기 ( 메뉴선택)
// 빈 배열 출력
// 중첩된 while, switch값
while (run) {
run2 = true;
System.out.println();
System.out.println("=====================================");
System.out.println("1.단품 2.세트 3.음료 4.사이드 5.주문확인 6.종료");
System.out.println("=====================================");
System.out.print("메뉴 선택 : ");
int menu = sc.nextInt();
3. 출력된 값에 추가로 swith을 통해 추가로 반복 ( 종류 선택)
switch (menu) {
case 1:
System.out.println("====== 단품 =====");
System.out.println("1. 불고기 버거 4500원");
System.out.println("2. 새우 버거 4000원");
System.out.println("3. 치즈 버거 3500원");
System.out.println("4. 치킨 버거 4500원");
System.out.println("5. 데리 버거 4500원");
System.out.println("6. 되돌아가기");
System.out.println("=================");
System.out.println("메뉴 선택 >>");
4. 중첩된 while swith문으로 반복( 값과 횟수 )
while(run2) {
int single = sc.nextInt();
switch (single) {
case 1:
total[count] = "불고기버거";
count++;
price += 4500;
break;
case 2:
total[count] = "새우버거";
count++;
price += 4000;
break;
case 3:
total[count] = "치즈버거";
count++;
price += 3500;
break;
case 4:
total[count] = "치킨버거";
count++;
price += 4500;
break;
case 5:
total[count] = "데리버거";
count++;
price += 4500;
break;
case 6:
run2=false;
break;
default:
System.out.println("잘못 입력했습니다");
break;
}
}
break;
case 2:
System.out.println("====== 세트 =====");
System.out.println("1. 불고기 세트 5500원");
System.out.println("2. 새우 세트 5000원");
System.out.println("3. 치즈 세트 4500원");
System.out.println("4. 치킨 세트 5500원");
System.out.println("5. 데리 세트 5500원");
System.out.println("6. 되돌아가기");
System.out.println("=================");
System.out.println("메뉴 선택 >>");
while(run2) {
int set = sc.nextInt();
switch (set) {
case 1:
total[count] = "불고기세트";
count++;
price += 5500;
break;
case 2:
total[count] = "새우세트";
count++;
price += 5000;
break;
case 3:
total[count] = "치즈세트";
count++;
price += 4500;
break;
case 4:
total[count] = "치킨세트";
count++;
price += 5500;
break;
case 5:
total[count] = "데리세트";
count++;
price += 5500;
break;
case 6:
run2=false;
break;
default:
System.out.println("잘못 입력했습니다");
break;
}
}
break;
case 3:
System.out.println("====== 음료 =====");
System.out.println("1. 콜라 1000원");
System.out.println("2. 사이다 1000원");
System.out.println("3. 환타 1000원");
System.out.println("4. 아메리카노 2000원");
System.out.println("5. 되돌아가기");
System.out.println("=================");
System.out.println("메뉴 선택 >>");
while(run2) {
int drink = sc.nextInt();
switch (drink) {
case 1:
total[count] = "콜라";
count++;
price += 1000;
break;
case 2:
total[count] = "사이다";
count++;
price += 1000;
break;
case 3:
total[count] = "환타";
count++;
price += 1000;
break;
case 4:
total[count] = "아메리카노";
count++;
price += 2000;
break;
case 5:
run2=false;
break;
default:
System.out.println("잘못 입력했습니다");
break;
}
}
break;
case 4:
System.out.println("===== 사이드 ====");
System.out.println("1. 치킨너겟 2000원");
System.out.println("2. 코울슬로 1000원");
System.out.println("3. 감자튀김 1000원");
System.out.println("4. 치즈스틱 1500원");
System.out.println("5. 되돌아가기");
System.out.println("=================");
System.out.println("메뉴 선택 >>");
while(run2) {
int side = sc.nextInt();
switch (side) {
case 1:
total[count] = "치킨너겟";
count++;
price += 2000;
break;
case 2:
total[count] = "코울슬로";
count++;
price += 1000;
break;
case 3:
total[count] = "감자튀김";
count++;
price += 1000;
break;
case 4:
total[count] = "치즈스틱";
count++;
price += 1500;
break;
case 5:
run2=false;
break;
default:
System.out.println("잘못 입력했습니다");
break;
}
}
break;
5. 반복문 나와 선택된 종류 값과 횟수로 결과 나타내 주기! ( 조건문 if로 변수 add를 추가 시켜 되물어보기)
case 5:
System.out.println("주문하신 메뉴는 ");
for (int i = 0; i < count; i++) {
if (i < count - 1) {
System.out.print(total[i] + ", ");
} else {
System.out.print(total[i]);
}
}
System.out.println("입니다.");
System.out.println("총 금액은 " + price + "원입니다.");
System.out.println();
System.out.println("추가하실 메뉴가 있으십니까?");
System.out.println("1. 네 2. 아니요");
int add=sc.nextInt();
if(add==1) {
break;
}
else if(add==2) {
System.out.println("카운터에서 계산해 주세요");
System.out.println("이용해 주셔서 감사합니다");
run = false;
}
break;
case 6:
System.out.println("이용해 주셔서 감사합니다");
run = false;
break;
default:
System.out.println("잘못 입력했습니다");
break;
}
}
}
}
// 첫 팀플 끝
[2] Array 배열 확장
// 각 배열의 크기를 지정해주고, 거기서 입력하면 출력되는 방식
import java.util.Arrays;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
int[] arr = new int[3];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
System.out.println("배열의 크기 : " + arr.length);
for(int i=0; i<arr.length; i++) {
System.out.println("arr["+i+"] : " + arr[i]);
}
////////////////////
arr = Arrays.copyOf(arr,arr.length+1); // 배열 확장!
Scanner sc = new Scanner(System.in);
System.out.println("새로운 값 입력 : ");
arr[arr.length-1] = sc.nextInt(); // 기존의 학생수에서 정보를 입력 받을떄 마다 자동적으로 늘어난다.
// arr = new int[3+1]; //arr.length+1 과 같은 개념
System.out.println("배열의 크기 : " + arr.length);
for(int i=0; i<arr.length; i++) {
System.out.println("arr["+i+"] : " + arr[i]);
}
}
}
// 출력
[3] Inteli J설치!! ( 당분간 써야됨)
이클립스를 쓰다가 이제는 다른 자바 툴인 IntelliJ IDEA 를 써보려고 한다.
먼저 다운로드를 하려면
https://www.jetbrains.com/ko-kr/idea/
IntelliJ IDEA – Java 및 Kotlin을 위한 최고의 IDE
www.jetbrains.com
에서 다운로드를 선택한다.
▶ 3.설치
① Create Desktop Shortcut : 바로가기 생성 여부
② Update PATH variable(restart needed) : 윈도우 환경변수에 자동으로 추가 할 수 있도록 체크
③ Update context menu : 프로젝트로 폴더 열기
④ Create Association : 자바 사용 (본인이 사용할 환경 선택)
위 4가지를 체크한 후 Next 클릭