# Language/Java

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

    명품 자바 Programming Chapter6 Ex3 Q : Calendar 클래스를 이용하여 현재 시간에 따라 새벽 4시에서 낮 12시 이전이면 "Good Morning", 오후 6시 이전이면 "Good Afternoon", 밤 10시 이전이면 "Good Evening", 그 이후는 "Good Night" 을 출력하는 프로그램을 작성하라. Solution 12345678910111213141516171819package chap6ex;import java.util.Calendar;public class Ex3 { public static void main(String[] args) { Calendar now = Calendar.getInstance(); int hour = now.get(Calenda..

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

    명품 자바 Programming Chapter Ex Q : Math.random() 메소드를 이용하여 10에서 50 사이의 난수 10개를 화면에 출력하는 프로그램을 작성하라. Solution 1234567891011package chap6ex; public class MakeRandom { public static void main(String[] args) { System.out.println("10~50 랜덤의 수 발생!"); for(int i = 0; i

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

    명품 자바 Programming Chapter6 Ex1 Q : 다음 main() 메소드의 실행 결과 "MyPoint(3,20)" 이 출력되도록 MyPoint 클래스를 작성하라. 1234public static void main(String[] args) { MyPoint a = new MyPoint(3,20); System.out.println(a); }Colored by Color Scriptercs Solution 123456789101112131415161718package chap6ex; public class MyPoint { private int x, y; public MyPoint(int x, int y) { this.x = x; this.y = y; } public String toStri..

    명품 JAVA 프로그래밍 6장 OpenChallenge

    명품 자바 Programming Chapter6 OpenChallenge Q : 대,소문자 히스토그램 문제 Solution 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package app; import java.io.*; public class ABCHistogram { private int num[] = new int[26]; //A부터 Z까지 25 대=소문자 ABCHistogram() { for(int i = 0; i

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

    명품 자바 Programming Chapter5 Ex6 Q : 간단한 그래픽 편집기를 콘솔 바탕으로 만들어보자.본문의 5.6절의 메소드 오버라이딩과 5.7절은 추상 클래스의 설명 중에Line, Rect, Circle의 도형 객체를 DObject 클래스를 상속받아 draw() 메소드를 오버라이딩하도록 구성하였다.이 예제를 완성해보자. DObject를 추상 메소드 draw()를 가진 추상 클래스로 만들어라.그래픽 편집기의 기능은 "삽입", "삭제", "모두보기", "종료"의 4가지이다. Solution DObject.java 123456789101112131415161718192021222324package chap5ex; public abstract class DObject { abstract public..

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

    명품 자바 Programming Chapter5 Ex5 Q : 추상 클래스의 서브 클래스 만들기에 필요한 추상 메소드 오버라이딩과 super()의 사용에 관한 문제이다. 다음과 같은 MyPoint 추상 클래스가 있다. MyPoint를 상속받는 MyColorPoint 클래스를 작성하라. MyColorPoint의 생성자는 MyColorPoint(int x, int y, String color)로 하라. 그리고 다음과 같은 main() 메소드를 삽입하여 실행되도록 하라. Solution 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849package chap5ex;abstract class MyPoin..

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

    명품 자바 Programming Chapter5 Ex4 Q : main() 함수를 다음과 같이 수행할 수 있도록 하기 위한 CPoint 클래스와 CColorPoint 클래스를 작성하고 전체 프로그램을 완성하라. CColorPoint 클래스의 어떤 메소드에서도 System.out.println()을 호출해서는 안 된다. CPoint 클래스는 생성자가 오직 하나뿐이다. Solution 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package chap5ex;class CPoint{ private int x; private int y; CPoint(int x, int y){ this.x = x; this..

    명품 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..