반응형

👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇

 

 

오늘의 이야기

드디어 2차원 배열이 지나갔다 ( 끝났다고 한게 아니고 잠시 지나간 거다)

수업을 같이 듣는 동료들이 너무 힘들어하고(나도 힘듦) 그래서 선생님이 2차원배열은 다음에 또 하는 걸로 하고 

다음 이론수업을 진행하였다.

너무 행복햇.... 다....

오늘 공부한 내용을 정리해 본다

 

 


 

자바 용어 정리

 

변수란?

 

메모리공간이란? 

 

메서드란?

 

생성자란?

 

 

java는 클래스 기반으로 코딩한다

 


 

클래스

정의

접근자 class 클래스명 {
		접근자 static 리턴타입 메서드명(매개변수) {
		
		}
	}

클래스 안에 메서드가 있다.
public static void main(String [] args) 
메인 메서드라고 칭한다. 기능은 프로그램의 시작
package명은 보통 소문자로 지정한다
클래스 이름은 첫 글자를 대문자로 지정한다

 

 


 

쉬어가는 문제

> 과제 1

개발자 정보를 정의하고 호출해 보세요
메서드이름 : writer

 

> 과제 2

add라는 메서드를 생성한다
숫자 2개를 인수로 입력받아 두 개의 숫자를 더하여 출력하는 메서드를 정의 후 호출하세요

> 과제 3

2번 하고 같다. 하지만 결괏값을 리턴하는 메서드를 만들어보세요

> 샘플 호출은 생성자에서 처리한다

 

package task;  
  
public class Main {  
    public static void main(String[] args) {  
        new Admin();  
    }  
}
package task;  
  
public class Admin {  
    public Admin(){  
        writer("휴먼이즈 롸잇나우");  
        System.out.println("----------------------------------");  
        add(1000,3);  
        System.out.println("----------------------------------");  
        System.out.println("입력된 값의 합산 : " + add1(5,5) + " 입니다");  
    }  
  
    public void writer(String name){  
        System.out.print("개발자 이름 : " + name);  
        System.out.println();  
        System.out.println(name + "의 개발자가 만들었습니다");  
    }  
  
    public void add(int in1, int in2){  
        System.out.println("입력된 값 1 : " + in1 + "\t입력된 값 2 : " + in2);  
        System.out.println("입력된 값의 합산 : " + (in1+in2) + " 입니다");  
    }  
  
    public int add1(int in1, int in2){  
        int result = in1+in2;  
        System.out.println("입력된 값 1 : " + in1 + "\t입력된 값 2 : " + in2);  
        return result;  
    }  
}

 

 


 

오늘의 문제

조별 미션
1. 샘플은 그대로 둔 뒤 새로 만든다
2. 각 조에서 주제를 만든다
3. 쉬운 거는 1차원 배열을 사용하는 게 가장 쉽다
4. 해당 주제를 가지고 
1. " 1. 입력 | 2. 수정 | 3. 삭제 | 4. 검색 | 5. 전체 보기 | 6. 종료"
기능을 만들어라.
5. 순서는 1/5/6을 만들고 나머지 2/3/4를 구현해 본다

 

package Project;  
  
public class Main {  
    public static void main(String[] args) {  
        new Exe();  
    }  
}
package Project;

import java.util.Scanner;

public class Exe {

    Scanner in = new Scanner(System.in);
    // 멤버 변수선언
    String[][] movieList = new String[10][2];

    // 생성자
    public Exe() {
        boolean flag = true;
        while (flag) {
            info();
            System.out.print("번호를 입력하세요 : ");
            int inPutNum = in.nextInt();
            in.nextLine();
            switch (inPutNum) {
                case 1: // 컨텐츠 입력기능
                    inContent();
                    break;
                case 2: // 컨텐츠 수정 기능
                    editContent();
                    break;
                case 3: // 컨텐츠 삭제 기능
                    System.out.println("삭제된 컨텐츠 이름 : [" + deleteContent() + "] 입니다");
                    System.out.println();
                    break;
                case 4: // 컨텐츠 검색 기능
                    searchContent();
                    break;
                case 5: // 저장된 전체 컨텐츠 검색
                    totalContent();
                    break;
                case 6: // 종료기능
                    flag = false;
                    System.out.println("프로그램을 종료합니다.");
                    break;
            }
        }

    }

    public void inContent() {
        System.out.print("입력할 컨텐츠 이름 : ");
        String contentName = in.nextLine();
        System.out.print("컨텐츠가 등록된 OTT이름 : ");
        String contentOtt = in.nextLine();
        for (int i = 0; i < 10; i++) {
            if (movieList[i][0] == null) {
                movieList[i][0] = contentName;
                movieList[i][1] = contentOtt;
                break;
            }
        }
        System.out.println();
    }

    public void editContent() {
        String tmpC = "";
        String tmpO = "";
        boolean flag = true;
        boolean subFlag = true;
        while (flag) {
            System.out.println("1 : 컨텐츠 이름 수정\t2 : 컨텐츠의 OTT 이름 수정");
            System.out.print("번호를 입력하세요 >> ");
            int searchNum = in.nextInt();
            in.nextLine();
            System.out.println();
            while (subFlag) {
                if (searchNum == 1) {
                    System.out.print("변경 전 컨텐츠 이름 입력 : ");
                    tmpC = in.nextLine();
                    System.out.print("변경 후 컨텐츠 이름 입력 : ");
                    tmpO = in.nextLine();
                    for (int j = 0; j < 10; j++) {
                        if (movieList[j][0] != null) {
                            if (movieList[j][0].equals(tmpC)) {
                                System.out.println(" >> 변경 전 [" + movieList[j][0] + "]\t 변경 후 [" + tmpO + "] ");
                                movieList[j][0] = tmpO;
                                subFlag = false;
                                break;
                            }
                        }
                    }
                } else if (searchNum == 2) {
                    System.out.print("등록된 OTT를 변경 할 컨텐츠 이름 입력 : ");
                    tmpC = in.nextLine();
                    System.out.print("변경 후 OTT 입력 : ");
                    tmpO = in.nextLine();
                    for (int j = 0; j < 10; j++) {
                        if (movieList[j][0] != null) {
                            if (movieList[j][0].equals(tmpC)) {
                                System.out.println(" >> 변경 전 [" + movieList[j][1] + "]\t 변경 후 [" + tmpO + "] ");
                                movieList[j][1] = tmpO;
                                subFlag = false;
                                break;
                            }
                        }
                    }
                } else break;
            }
            System.out.println();
            if (subFlag == false) {
                flag = false;
            } else if (subFlag == true) {
                System.out.println("입력하신 내용에 오류가 있습니다. \n처음 화면으로 돌아가기 [ 1 ] \t 수정 작업 재 시도 [ 2 ]");
                System.out.print("번호를 입력 해 주세요 : ");
                searchNum = in.nextInt();
                if (searchNum == 1) {
                    flag = false;
                } else {
                    System.out.println();
                    tmpC = "";
                    tmpO = "";
                    searchNum = 0;
                }
            }
        }
        System.out.println();
    }

    public String deleteContent() {
        System.out.print("삭제할 컨텐츠 이름을 입력하세요 : ");
        String contentName = in.nextLine();
        for (int i = 0; i < 10; i++) {
            if (movieList[i][0] != null) {
                if (movieList[i][0].equals(contentName)) {
                    movieList[i][0] = null;
                    movieList[i][1] = null;
                    break;
                }
            }
        }
        return contentName;
    }

    public void searchContent() {
        System.out.print("검색할 영화 이름 : ");
        String searchName = in.nextLine();
        System.out.print("\t >> ");
        for (int i = 0; i < 10; i++) {
            if (movieList[i][0] != null) {
                if (movieList[i][0].equals(searchName)) {
                    System.out.println("검색한 [" + movieList[i][0] + "] 컨텐츠는 [" + movieList[i][1] + "]에서 시청가능합니다.");
                    break;
                }
            }
        }
        System.out.println();
    }

    public void totalContent() {
        System.out.println();
        System.out.println("전체 컨텐츠 및 OTT 리스트 보기");
        System.out.println();
        for (int i = 0; i < 10; i++) {
            System.out.println((i + 1) + ". 이름 : " + movieList[i][0] + "\n>> 저장된 OTT 정보 : " + movieList[i][1]);
            System.out.println();
        }
        System.out.println();
    }

    public void info() {
        System.out.println("----------[          영화 컨텐츠와 영화컨텐츠가 등록된 OTT를 관리하는 프로그램            ]---------- ");
        System.out.println("----------[ 1. 입력(10개만 가능) | 2. 수정 | 3. 삭제 | 4. 검색 | 5. 전체보기 | 6. 종료 ]----------");
    }


}

반응형
유리쯔의일상