본문 바로가기
Java/Java 인강

Java 인강 필기 4

by code2772 2022. 10. 2.

[ 목차 ]

    728x90
    반응형
    (22.7.28)
    
    # 12강 ~ 16강 배열
    
    ​
    
    배열 - 같은 자요형의 변수들의 나열된 묶음
    
    ​
    
    사용 목적 - 같은 타입의 변수들의 관리를 편하게 하기 위해 사용
    
    ​
    
    package day12;
    
    ​
    
    public class Array01 {
    
    ​
    
    public static void main(String[] args) {
    
    ​
    
    int [] scores = new int[3];//3명의 학생점수 저장하고 싶다!
    
    scores[0] = 100;
    
    scores[1] = 80;
    
    scores[2] = 70;
    
    for(int i=0;i<3;i++) {
    
    System.out.println(i+1+" 번째 점수 :"+scores[i]+"점");
    
    }
    
    
    
    }
    
    ​
    
    }
    
    ​
    
    package day12;
    
    ​
    
    public class Araray02 {
    
    ​
    
    public static void main(String[] args) {
    
    int arInt[]=new int[3];
    
    double arDouble[]=new double[3];
    
    char arChar[]=new char[3];
    
    String arString[] = new String[3];
    
    
    
    
    
    for(int i=0;i<3;i++) {
    
    System.out.print(arInt[i]);
    
    }
    
    System.out.println();
    
    for(int i=0;i<3;i++) {
    
    System.out.print(arDouble[i]);
    
    }
    
    System.out.println();
    
    for(int i=0;i<3;i++) {
    
    System.out.print(arChar[i]);
    
    }
    
    System.out.println();
    
    for(int i=0;i<3;i++) {
    
    System.out.print(arString[i]);
    
    }
    
    }
    
    ​
    
    }
    
    ​
    
    package day12;
    
    ​
    
    import java.util.Arrays;
    
    ​
    
    public class Array03 {
    
    ​
    
    public static void main(String[] args) {
    
    //a라는 정수형 배열을 생성할 때
    
    int ar[] = new int[] {10,20,4,25,18};
    
    //b라는 정수형 배열을 생성, 초기값으로 넣는 방법
    
    int []b = {1,2,3,4,5,6};
    
    //c라는 정수형 배열을 선언하고, 10개의 정수를 묶음
    
    int c[] = new int[10];
    
    // 배열.length - 배열의 길이, 배열의 요소갯수
    
    for(int i=0;i<c.length;i++) {
    
    c[i]=i;
    
    }
    
    for(int i=0;i<c.length;i++) {
    
    System.out.print(c[i]);
    
    }
    
    System.out.println();
    
    System.out.println(Arrays.toString(c));
    
    // 문자열로 출력 : Arrays.toString(배열명)
    
    ​
    
    }
    
    }
    
    ​
    
    package day12;
    
    ​
    
    public class Array4 {
    
    ​
    
    public static void main(String[] args) {
    
    int []students = {100,95,91,88,93};
    
    int sum=0;
    
    for(int i =0;i<students.length;i++) {
    
    sum+=students[i];
    
    }
    
    ​
    
    System.out.println("시험성적의 평균 :"+sum/(float)students.length);
    
    //정수/정수 = 정수 , 실수값이 나오려면. 정수/(float) 강제 형변환
    
    }
    
    }
    
    ​
    
    ​
    
    # 로또 프로그램
    
    ​
    
    package day13.copy;
    
    //import java.util.*; 모든 패키지에 있는 import
    
    import java.util.Random;
    
    import java.util.Scanner;
    
    ​
    
    public class Day13_1 {
    
    //로또 프로그램
    
    public static void main(String[] args) {
    
    ​
    
    Scanner sc= new Scanner(System.in);
    
    Random random = new Random();
    
    int lottoAr[] = new int[6];
    
    int userAr[]= new int[6];
    
    int bonus,bonusUser;
    
    int count = 0;
    
    //로또배열 6개의 랜덤값 지정
    
    for(int i=0;i<6;i++) {
    
    lottoAr[0]=random.nextInt(45)+1; //0~44 -> 0~45
    
    }
    
    //bonus = random
    
    bonus=random.nextInt(45)+1;
    
    ​
    
    //사용자에게 6개의 값을 입력
    
    for(int i=0;i<6;i++) {
    
    userAr[i]=sc.nextInt();
    
    }
    
    System.out.print("보너스 값 입력 : ");
    
    bonusUser=sc.nextInt();
    
    ​
    
    //로또 배열의 값과 사용자 배열의 값중 같은 값을 카운트하기
    
    for(int j = 0;j<6;j++) {
    
    for(int i=0;i<6;i++) {
    
    if(lottoAr[0]==userAr[i]) {
    
    count++;
    
    }
    
    }
    
    if(count==6) {
    
    System.out.println("축하 1등");
    
    }
    
    }
    
    else if(count==5) {
    
    if(bonus==bonusUser) {
    
    System.out.println("축하 2등");
    
    }
    
    else {
    
    System.out.println("축하 3등");
    
    }
    
    }
    
    else if(count==5) {
    
    System.out.println("축하 4등");
    
    }
    
    else if(count==5) {
    
    System.out.println("축하 5등");
    
    }
    
    else if(count==5) {
    
    System.out.println("꼴등");
    
    }
    
    ​
    
    }
    
    ​
    
    ​
    
    배열의 선언과 생성
    
    - 타입[]배열명; //선언
    
    배열명 = new 타입[길이]; // -> 타입[]배열명 = new 타입[길이];
    
    ​
    
    int[ ]ar = new int[3]
    
    (ar 묶음에서 첫 번째 요소에 접근할래!)
    
    ​
    
    배열의 길이와 인덱스 - 배열의 값을 다루기 위해선 인덱스를 사용
    
    EX) ar[0], ar[1], ar[2] - 배열의 시작번호는 0부터 시작한다
    
    ​
    
    배열의 초기화와 출력 - 배열 생성 시 배열의 타입에 해당하는 기본값을 초기화!
    
    ​
    
    2차원 배열의 선언과 생성
    
    ​
    
    다차원 배열 - 배열의 각 요소가 배열
    
    ​
    
    2차원 배열의 선언 - 자료형[][] 배열명;
    
    ​
    
    2차원 배열의 생성 - 배열명 = new자료형[크기][크기];
    
    //[묶음의개스크기][각요소의갯수]
    
    ​
    
    목적 - 배열을 묶어서 관리하기 위해서 사용
    
    배열은 변수를 관리하기 위한 목적으로 만든 구조!
    
    2차원 배열도 각 변수에 접근하는 방법이 있어야 하며 그 방법이 바로 인덱스다!
    
    ​
    
    package dya14;
    
    ​
    
    public class Dat14_1 {
    
    ​
    
    public static void main(String[] args) {
    
    //5개의 변수를 묶는 1차원배열 *2 = 2차원 배열
    
    int ar1[] = new int[5];
    
    int ar2[] = new int[5];
    
    ​
    
    int ar3[][]=new int[2][5];//[묶음의개스 크기][각요소의갯수]
    
    ​
    
    ​
    
    }
    
    ​
    
    }
    
    ​
    
    ​
    
    package dya14;
    
    ​
    
    import java.util.Scanner;
    
    ​
    
    public class Day14_2 {
    
    ​
    
    public static void main(String[] args) {
    
    Scanner sc = new Scanner(System.in);
    
    int scores[][] = new int[4][3];
    
    String subject[] = {"국어", "영아", "수학"};
    
    ​
    
    
    
    for(int j=0;j<4;j++) {
    
    System.out.println((j+1) + "번 학생의 점수");
    
    for(int i =0; i<3;i++) {
    
    System.out.print(subject[i]+":");
    
    scores[j][i] = sc.nextInt();
    
    }
    
    }
    
    //2차원 배얄에 지정된 값을 출력
    
    for(int i =0; i<3;i++) {
    
    System.out.print("\t"+subject[i]);
    
    }
    
    System.out.println();
    
    for(int j=0;j<4;j++) {
    
    System.out.print(j+1+"번:\t");
    
    for(int i=0;i<3;i++) {
    
    System.out.print(scores[j][i] + "\t" );
    
    }
    
    System.out.println();
    
    }
    
    
    
    }
    
    }
    
    ​
    
    ​
    
    ​
    
    ​
    
    ​
    
    배열의 System.array(src,srcPos, dest, destPos, length);
    
    ​
    
    src : 복사할 배열
    
    srcPos ;
    
    ​
    
    복사를 하기 시작할 인덱스 위치
    
    dest : 덮어쓸 배열
    
    destPost : 덮어쓰기 시작할 인덱스 위치
    
    length : 복사할 길이
    
    ​
    
    package day15;
    
    ​
    
    import java.util.Arrays;
    
    ​
    
    public class Day15_1 {
    
    ​
    
    public static void main(String[] args) {
    
    ​
    
    int a [] = {1,2,3,4,5, 6};
    
    int b [] = {0,0,0,0,0,0,0};
    
    ​
    
    System.out.println(Arrays.toString(a));
    
    System.out.println(Arrays.toString(b));
    
    ​
    
    System.arraycopy(a, 2, b, 3, 4);
    
    System.out.println(Arrays.toString(b));
    
    ​
    
    }
    
    ​
    
    }
    
    ​
    
    package day15;
    
    ​
    
    public class Dat15_2 {
    
    ​
    
    public static void main(String[] args) {
    
    ​
    
    String a[] = {"Java","Hello","Programming"};
    
    for(String i:a) {// a만큼 i에 들어간다
    
    System.out.println(i);
    
    }
    
    ​
    
    int b[] = {1,2,3,4,5,};
    
    for(int i:b) {
    
    System.out.println(i);
    
    ​
    
    }
    
    ​
    
    }
    
    ​
    
    }
    
    ​
    
    ​
    
    package day15;
    
    ​
    
    import java.util.Scanner;
    
    ​
    
    public class Day15_3 {
    
    ​
    
    public static void main(String[] args) {
    
    ​
    
    Scanner sc = new Scanner(System.in);
    
    String fruits[] = new String[3];
    
    for(int i=0; i<3;i++) {
    
    System.out.print("주문할 과일 :");
    
    fruits[i] =sc.next();
    
    }
    
    System.out.println("===주문받을 과일==");
    
    for(String eachFruits:fruits) {
    
    System.out.print(eachFruits+" ");
    
    }
    
    ​
    
    }
    
    ​
    
    }
    
    ​
    
    ​
    
    ​
    
    ​
    
    ​
    
    for each 문
    
    - 배열을 순환 할 시, 반복문 보다 편리하게 순환할 수 있도록 새로운 문법 제공
    
    ​
    
    구조
    
    - for(자료형 변수명 : 배열명) { 변수가 배열을 순환하면서 반복할 명령; }
    
    ​
    
    ​
    
    카페프로그램 알고리즘 짜기
    
    ​
    
    알고리즘이란 - 문제를 해결하기 위한 절차적인 과정
    
    ​
    
    ​
    
    # cafe 프로그램
    
    ​
    
    package day16;
    
    ​
    
    import java.util.Scanner;
    
    ​
    
    public class Day16_1 {
    
    ​
    
    public static void main(String[] args) {
    
    // 카페주문 프로그램을 만들어보자!!
    
    ​
    
    Scanner sc = new Scanner(System.in);
    
    int count =0;
    
    //주문은 총 5개까지 가능
    
    String orderList[] = new String[5];
    
    int total = 0;
    
    while (true) {
    
    System.out.println("*******cafe********");
    
    System.out.println("1. 주문하기");
    
    System.out.println("2. 취소하기");
    
    System.out.println("3. 결제하기");
    
    System.out.println("4. 끝내기");
    
    System.out.println("입력 :");
    
    int num=sc.nextInt();
    
    if(num==1) {
    
    String menuName = "";
    
    int menuPrice=0;
    
    System.out.println("1. 아메리카노\t3800");
    
    System.out.println("2. 아메리카노1\t2800");
    
    System.out.println("3. 아메리카노2\t4800");
    
    System.out.println("4. 아메리카노3\t5800");
    
    System.out.println("주문할 메뉴번호 :");
    
    int menuNum=sc.nextInt();
    
    if(menuNum==1) {
    
    menuName="아메리카노";
    
    menuPrice=3800;
    
    }
    
    else if(menuNum==2) {
    
    menuName="아메리카노1";
    
    menuPrice=2800;
    
    }
    
    else if(menuNum==3) {
    
    menuName="아메리카노2";
    
    menuPrice=4800;
    
    }
    
    else if(menuNum==4) {
    
    menuName="아메리카노3";
    
    menuPrice=5800;
    
    }
    
    else {
    
    System.out.println("잘못입력");
    
    continue;
    
    }
    
    total+=menuPrice;
    
    orderList[count]=menuName;
    
    count++;
    
    System.out.println("주문한 메뉴는"+menuName);
    
    System.out.println("가격은"+menuPrice);
    
    ​
    
    }
    
    else if(num==2) {
    
    System.out.println("주문한 매뉴리스트");
    
    for(int i=0;i<count;i++) {
    
    System.out.println(orderList[i]);
    
    }
    
    System.out.println("취소할 매뉴는?");
    
    int cancelNum=sc.nextInt();
    
    if(1<=cancelNum && cancelNum<=count) {
    
    String delMenu = orderList[cancelNum-1];
    
    System.out.println("취소할 메뉴를 선택!");
    
    for(int i=cancelNum-1;i<count;i++) {
    
    orderList[i]=orderList[i+1];
    
    }
    
    if(delMenu.equals("아메리카노")) {
    
    total-=3800;
    
    }
    
    else if (delMenu.equals("아메리카노1")) {
    
    total-=2800;
    
    }
    
    else if (delMenu.equals("아메리카노2")) {
    
    total-=4800;
    
    }
    
    else if (delMenu.equals("아메리카노1")) {
    
    total-=2800;
    
    }
    
    else if (delMenu.equals("아메리카노1")) {
    
    total-=2800;
    
    }
    
    count--;
    
    }
    
    ​
    
    }
    
    else if(num==3) {
    
    System.out.println("결제할 금액: "+total+"원");
    
    System.out.println("지불할 금액:");
    
    int money=sc.nextInt();
    
    if(money<total) {
    
    System.out.println("잔돈이 부족합니다.");
    
    continue;
    
    }
    
    else {
    
    System.out.println("잔돈은" +(money-total)+"원");
    
    total = 0;
    
    for(int i = 0; i<5 ;i++) {
    
    orderList[i] = "";
    
    }
    
    count = 0;
    
    }
    
    }
    
    else if(num==4) {
    
    System.out.println("반복종료");
    
    break;
    
    }
    
    else {
    
    System.out.println("잘못입력했습니다.");
    
    }
    
    }
    
    ​
    
    ​
    
    }
    
    ​
    
    }
    반응형

    'Java > Java 인강' 카테고리의 다른 글

    Java 인강 필기 6  (0) 2022.10.02
    Java 인강 필기 5  (0) 2022.10.02
    Java 인강 필기 3  (0) 2022.10.02
    Java 인강 필기 2  (0) 2022.10.02
    Java 인강 필기 1  (0) 2022.10.01