Java/Java 연습문제

자료구조 연습문제

2주녘 2023. 9. 26. 09:37
반응형
// TODO: 연습문제) 실행 클래스의 결과가 다음과 같도록 DeptDao 의 createDept() 함수에
//         List 의 자료를 추가하는 로직을 작성하세요.
//    결과 :
//      10 Sales       부산
//      20 Marketing   서울
//      30 Research    대전

package chap12.sec01.verify.exam01;

/**
 * packageName : chap13.sec01.verify.exam01
 * fileName : Dept
 * author : kangtaegyung
 * date : 2023/04/05
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2023/04/05         kangtaegyung          최초 생성
 */
public class Dept {
    private int dno;
    private String dname;
    private String loc;

//    생성자
    public Dept(int dno, String dname, String loc) {
        this.dno = dno;
        this.dname = dname;
        this.loc = loc;
    }

//    getter
    public int getDno() {
        return dno;
    }

    public String getDname() {
        return dname;
    }

    public String getLoc() {
        return loc;
    }

}
package chap12.sec01.verify.exam01;

import java.util.ArrayList;
import java.util.List;

/**
 * packageName : chap12.sec01.verify.exam01
 * fileName : DeptDao
 * author : GGG
 * date : 2023-09-25
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * —————————————————————————————
 * 2023-09-25         GGG          최초 생성
 */

public class DeptDao {
    public List<Dept> createDept(){
        List<Dept> list = new ArrayList<>();
        list.add(new Dept(10,"sales","부산"));
        list.add(new Dept(20,"Marketing","서울"));
        list.add(new Dept(30,"Research","대전"));
        return list;
    }

}
package chap12.sec01.verify.exam01;

import java.util.List;

/**
 * packageName : chap13.sec01.verify.exam01
 * fileName : DeptApplication
 * author : kangtaegyung
 * date : 2023/04/05
 * description : 실행클래스
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2023/04/05         kangtaegyung          최초 생성
 */
public class DeptApplication {
    public static void main(String[] args) {
        DeptDao deptDao = new DeptDao();
        List<Dept> deptList = deptDao.createDept(); // 자료 생성

        for(Dept dept : deptList) {
            System.out.println(dept.getDno() + " " + dept.getDname()
                    + " " + dept.getLoc());
        }
    }
}

// TODO: 연습문제) 실행 클래스의 결과가 다음과 같도록
//       Emp 모델을 디자인하고 EmpDao의 createDept()
//       List 의 자료를 추가하는 로직을 작성하세요.
//    결과 :
//        1 Scott 3000 500 10
//        2 Mark 3500 0 20
//        3 Smith 5000 1000 30

package chap12.sec01.verify.exam02;

/**
 * packageName : chap13.sec01.verify.exam02
 * fileName : Emp
 * author : kangtaegyung
 * date : 2023/04/05
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2023/04/05         kangtaegyung          최초 생성
 */
public class Emp {
    private int eno;
    private String ename;
    private int salary;
    private int comission;
    private int dno;

//    생성자
    public Emp(int eno, String ename, int salary, int comission, int dno) {
        this.eno = eno;
        this.ename = ename;
        this.salary = salary;
        this.comission = comission;
        this.dno = dno;
    }

//    Getter
    public int getEno() {
        return eno;
    }

    public String getEname() {
        return ename;
    }

    public int getSalary() {
        return salary;
    }

    public int getComission() {
        return comission;
    }

    public int getDno() {
        return dno;
    }
}
package chap12.sec01.verify.exam02;

import java.util.ArrayList;
import java.util.List;

/**
 * packageName : chap12.sec01.verify.exam02
 * fileName : EmpDao
 * author : GGG
 * date : 2023-09-25
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * —————————————————————————————
 * 2023-09-25         GGG          최초 생성
 */
//        1 Scott 3000 500 10
//        2 Mark 3500 0 20
//        3 Smith 5000 1000 30
public class EmpDao {
    public List<Emp> createEmp(){
        List<Emp> list = new ArrayList<>();
        list.add(new Emp(1,"Scott",3000,500,10));
        list.add(new Emp(2,"Mark",3500,0,20));
        list.add(new Emp(3,"Smith",5000,1000,30));
        return list;
    }
}
package chap12.sec01.verify.exam02;

import java.util.List;

/**
 * packageName : chap13.sec01.verify.exam02
 * fileName : EmpApplication
 * author : kangtaegyung
 * date : 2023/04/05
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2023/04/05         kangtaegyung          최초 생성
 */
public class EmpApplication {
    public static void main(String[] args) {
        EmpDao empDao = new EmpDao();

        List<Emp> empList =  empDao.createEmp();

        //        List 배열 내용 출력
        for(Emp emp : empList) {
            System.out.println(emp.getEno() + " "
                          + emp.getEname() + " "
                          + emp.getSalary() + " "
                          + emp.getComission() + " "
                          + emp.getDno());
        }
    }
}

// TODO: 연습문제) 실행 클래스의 결과가 다음과 같도록
//       Faq 모델을 디자인하고 실행클래스 FaqApplication 에서
//      다음과 같은 결과가 나오도록 코딩하세요
//    결과 :
//        1 제목1 내용1
//        2 제목2 내용2
//        3 제목3 내용3

package chap12.sec01.verify.exam03;

/**
 * packageName : chap12.sec01.verify.exam03
 * fileName : Faq
 * author : GGG
 * date : 2023-09-26
 * description : Faq 모델 클래스
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * —————————————————————————————
 * 2023-09-26         GGG          최초 생성
 */
public class Faq {
//    TODO : 속성
    private int fid;
    private String subject;
    private String text;

//    TODO : 기본 생성자, 풀 속성 생성자
    public Faq() {
    }

    public Faq(int fid, String subject, String text) {
        this.fid = fid;
        this.subject = subject;
        this.text = text;
    }

//    TODO : getter
    public int getFid() {
        return fid;
    }

    public String getSubject() {
        return subject;
    }

    public String getText() {
        return text;
    }
}
package chap12.sec01.verify.exam03;


import java.util.ArrayList;
import java.util.List;

/**
 * packageName : chap13.sec01.verify.exam03
 * fileName : FaqDao
 * author : kangtaegyung
 * date : 2023/04/05
 * description : MVC 디자인 패턴
 * 요약 :
 *          M : Model               - 속성, 생성자, getter/setter 함수 (정보 저장용 클래스)
 *              DAO(DB 접속용 클래스) - CRUD(Create(insert) Read(select) Update(Update) Delete(Delete) 함수만 존재함
 *          V : View
 *          C : Controller
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2023/04/05         kangtaegyung          최초 생성
 */
public class FaqDao {
    public List<Faq> createFaq() {
//        내용 완성
//        ArrayList 사용, .add()
        List<Faq> list = new ArrayList<>();
        list.add(new Faq(1, "제목1", "내용1"));
        list.add(new Faq(2, "제목2", "내용2"));
        list.add(new Faq(3, "제목3", "내용3"));

        return list;
    }
}
package chap12.sec01.verify.exam03;


import java.util.List;

/**
 * packageName : chap13.sec01.verify.exam03
 * fileName : FaqApplication
 * author : kangtaegyung
 * date : 2023/04/05
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2023/04/05         kangtaegyung          최초 생성
 */

public class FaqApplication {
    public static void main(String[] args) {
        FaqDao faqDao = new FaqDao();

        List<Faq> faqList =  faqDao.createFaq();

        //        List 배열 내용 출력

        for(Faq faq : faqList) {
            System.out.println(faq.getFid() + " "
                    + faq.getSubject() + " "
                    + faq.getText());
        }
    }
}

// TODO: 연습문제) BoardDao 의 createBoard() 함수에는 List 자료구조를 이용해
//       아래의 값이 추가되어 있다. Board 객체와 실행클래스 BoardApplication 를 작성해서 아래 결과가 나오도록 코딩하세요
//    단, Board 객체의 속성명은 아래의 이름을 사용하고, createBoard() 함수를 이용해서 자료를 생성하세요.
//       title // 제목 속성
//       content // 내용 속성
//    결과 :
//      제목1-내용1
//      제목2-내용2
//      제목3-내용3

package chap12.sec01.verify.exam04;

/**
 * packageName : chap12.sec01.verify.exam04
 * fileName : Board
 * author : GGG
 * date : 2023-09-26
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * —————————————————————————————
 * 2023-09-26         GGG          최초 생성
 */
public class Board {
    private String title;
    private String content;

    public Board() {
    }

    public Board(String title, String content) {
        this.title = title;
        this.content = content;
    }

    public String getTitle() {
        return title;
    }

    public String getContent() {
        return content;
    }
}
package chap12.sec01.verify.exam04;

import java.util.ArrayList;
import java.util.List;

/**
 * packageName : chap12.sec01.verify.exam04
 * fileName : BoardDao
 * author : GGG
 * date : 2023-09-26
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * —————————————————————————————
 * 2023-09-26         GGG          최초 생성
 */
public class BoardDao {

    public List<Board> createDept(){

        List<Board> list = new ArrayList<>();
        list.add(new Board("제목1", "내용1"));
        list.add(new Board("제목2", "내용2"));
        list.add(new Board("제목3", "내용3"));

        return list;
    }

}
package chap12.sec01.verify.exam04;

import java.util.List;

/**
 * packageName : chap13.sec01.verify.exam07
 * fileName : ListApplication
 * author : kangtaegyung
 * date : 2022/10/03
 * description :
 * 요약 :
 * <p>
 * ===========================================================
 * DATE            AUTHOR             NOTE
 * —————————————————————————————
 * 2022/10/03         kangtaegyung          최초 생성
 */
public class BoardApplication {
    public static void main(String[] args) {
        BoardDao dao = new BoardDao();
//        List 배열 : Board 객체에 저장되어 있는 값이 들어감
        List<Board> list = dao.createDept();

//        List 배열 내용 출력
        for(Board board : list) {
            System.out.println(board.getTitle() + "-" + board.getContent());
        }
    }
}
반응형