전체 글

전체 글

    명품 JAVA 프로그래밍 5장 3번

    명품 자바 Programming Chapter5 Ex3 Q : 다음 Stack 인터페이스를 구현하며 스택의 원소로는 문자열(String)을 갖는 StringStack클래스를 작성하라. 그리고 StringStack에 문자열을 삽입하고 다시 pop하여 문자열을 출력하는 main() 메소드를 구현하여 프로그램을 완성하라.interface Stack{int length();Object pop();boolean push(Object ob);} Solution 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package chap5ex;interface Stack{ int length(); ..

    명품 JAVA 프로그래밍 5장 2번

    명품 자바 Programming Chapter5 Ex2 Q : 4장 연습문제 중 하나를 수정하여 완성해보자. 더하기(+), 빼기(-), 곱하기(*), 나누기(/) 를 수행하는 각 클래스 Add, Sub, Mul, Div를 만들어라. 이들은 모두 다음 필드와 메소드를 가진다.int 타입의 a,b 필드 : 연산하고자 하는 피연산자void setValue(int a, int b) : 피연산자를 객체 내에 설정한다.int calculate() : 해당 클래스의 목적에 맞는 연산을 실행하고 그 결과를 리턴한다.공통 멤버 : int a, int b, setValue(), calculate()Add, Sub, Mul, Div 클래스에 공통된 필드와 메소드가 존재하므로 새로운 추상 클래스 Calc를 정의하고 이들이 C..

    명품 JAVA 프로그래밍 5장 1번

    명품 자바 Programming Chapter5 Ex1 Q : 다음 그림과 같은 상속 구조를 갖는 클래스를 설계하라. 모든 프린터는 모델명, 제조사, 인터페이스 종류(USB 또는 병렬 인터페이스), 인쇄 매수, 인쇄 종이 잔량을 나타내는 정보를 가지며 print()라는 메소드를 갖는다. 잉크젯 프린터는 잉크 잔량이라는 추가 정보를 가지며 레이저 프린터는 토너 잔량이라는 추가 정보를 가진다. print() 메소드는 각 프린터 타입에 맞게 구현한다. 편의상 print() 메소드를 한 번 호출할 때마다 인쇄용지 1매를 사용하는 것으로 한다. 이러한 클래스를 설계하고 적절한 필드, 생성자, 메소드를 작성하고, 실행 프로그램을 작성하여 동작을 확인하라. Solution Printer.java 12345678910..

    명품 JAVA 프로그래밍 5장 OpenChallenge

    명품 자바 Programming Chapter5 OpenChallenge Q : Product 클래스는 각 상품의 고유한 식별자, 상품 설명, 생산자, 가격 정보를 포함하고 있다.Book 클래스는 ISBN 번호, 저자, 책 제목 정보를 포함한다.CompactDisc 클래스는 앨범 제목, 가수 이름 정보를 포함한다.ConversationBook은 회화책에서 다루는 언어명 정보를 포함한다. 객체 지향 개념에 부합하도록 적절한 접근 지정자, 필드, 메소드, 생성자 등을 작성하라.ProductInfo 클래스를 만들고 이곳에 main()을 둔다.main()에서는 최대 10개의 상품을 추가할 수 있으며 모든 상품의 정보를 조회할 수 있다.모든 제품에 대한 정보를 출력할 때 Product 타입의 레퍼런스를 이용하라...

    명품 JAVA 프로그래밍 4장 6번

    명품 자바 Programming Chapter4 Ex6 Q : 간단한 공연 예약 시스템을 만들어보자. 다수의 클래스를 다루고 객체의 배열을 다루기에는 아직 자바로 프로그램 개발이 익숙하지 않은 초보자에게 다소 무리가 있을 것이다. 그러나 반드시 넘어야 할 산이다. 이 도전 주제를 통해 산을 넘어갈 수 있는 체력을 키워보자. 공연 예약 시스템의 내용은 다음과 같다. 공연은 하루에 한 번 있다. 좌석은 S석, A석, B석 타입이 있으며 모두 10석의 좌석이 있다. 공연 예약 시스템의 메뉴는 “예약”, “조회”, “취소”, “끝내기”가 있다. 예약은 한 자리만 예약할 수 있고 좌석 타입, 예약자 이름, 좌석 번호를 순서대로 입력 받아 예약한다. 조회는 모든 종류의 좌석을 표시한다. 취소는 예약자의 이름을 입력..

    명품 JAVA 프로그래밍 4장 5번

    명품 자바 Programming Chapter4 Ex5 Q : 5. 다수의 클래스를 정의하고 활용하는 연습을 해보자. 더하기(+), 빼기(-), 곱하기(*), 나누기(/)를 수행하는 각 클래스 Add, Sub, Mul, Div를 만들어라. 이들은 모두 다음 필드와 메소드를 가진다. int 타입의 a, b 필드 : 연산하고자 하는 피연산자void setValue(int a, int b) : 피연산자를 객체 내에 설정한다.int calculate() : 해당 클래스의 목적에 맞는 연산을 실행하고 그 결과를 리턴한다. Add 클래스 : int a, int b, setValue(), calculate()Sub 클래스 : int a, int b, setValue(), calculate()Mul 클래스 : int ..

    명품 JAVA 프로그래밍 4장 4번

    명품 자바 Programming Chapter4 Ex4 Q : 다음 두 개의 static 메소드를 가진 ArrayUtility2 클래스를 만들어보자. ArrayUtility2 클래스를 이용하는 테스트용 프로그램도 함께 작성하라. static int [] concat(int [] s1, int [] s2); // s1과 s2를 연결한 새로운 배열 리턴static int [] remove(int [] s1, int [] s2); // s1에서 s2 배열의 숫자를 모두 삭제한 새로운 배열 리턴 Solution 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061..

    명품 JAVA 프로그래밍 4장 3번

    명품 자바 Programming Chapter4 Ex3 Q : 다음 두 개의 static 메소드를 가진 ArrayUtility 클래스를 만들어보자. ArrayUtility 클래스를 이용하는 테스트용 프로그램도 함께 작성하라. static double [] intToDouble(int [] source); // int 배열을 double 배열로 변환static int [] doubleToInt(double [] source); // double 배열을 int 배열로 변환 Solution 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364packa..

    명품 JAVA 프로그래밍 4장 2번

    명품 자바 Programming Chapter4 Ex2 Q : 다음과 같은 멤버를 가지는 직사각형을 표현하는 Rectangle 클래스를 작성하라.int 타입의 x1, y1, x2, y2 필드 : 사각형을 구성하는 두 점의 좌표생성자 2개 : 매개 변수 없는 생성자와 x1, y1, x2, y2의 값을 설정하는 생성자void set(int x1, int y1, int x2, int y2) : x1, y1, x2, y2좌표 설정int square() 사각형 넓이 리턴void show() 좌표와 넓이 등 직사각형 정보의 화면 출력boolean equals(Rectangle r) : 인자로 전달된 객체 r과 현 객체가 동일한 직사각형이면 true 리턴 main() 예시 12345678910111213public ..

    명품 JAVA 프로그래밍 4장 1번

    명품 자바 Programming Chapter4 Ex1 Q : 노래를 나타내는 Song이라는 클래스를 설계하라. Song 클래스는 다음과 같은 필드를 갖는다.노래의 제목을 나타내는 title가수를 나타내는 artist노래가 속한 앨범 제목을 나타내는 album노래의 작곡가를 나타내는 composer, 작곡가는 여러 명 있을 수 있다.노래가 발표된 연도를 나타내는 year노래가 속한 앨범에서의 트랙 번호를 나타내는 track 생성자는 기본 생성자와 모든 필드를 초기화하는 생성자를 작성하고, 노래의 정보를 화면에 출력하는 show() 메소드도 작성하라. ABBA의 "Dancing Queen" 노래를 Song 객체로 생성하고 show()를 이용하여 이 노래의 정보를 출력하는 프로그램을 작성하라. Solutio..