1.
class Circle {
double radius;
String color;
public Circle(double radius) {
super();
this.radius = radius;
}
public Circle() {
super();
this.radius = 0;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getArea() {
return 3.141592 * radius * radius;
}
}
class Cylinder extends Circle {
public Cylinder(double radius, double height) {
super(radius);
this.height = height;
}
public Cylinder() {
super(0);
}
public Cylinder(double radius) {
super(radius);
}
public double getVolume() {
return super.getArea() * height;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
double height;
}
public class TestCylinder {
public static void main(String[] args) {
Cylinder obj1 = new Cylinder();
System.out.println(obj1.getHeight());
System.out.println(obj1.getRadius());
Cylinder obj2 = new Cylinder(5.0, 3.0);
System.out.println(obj2.getHeight());
System.out.println(obj2.getRadius());
}
}
2.
class Person {
public Person(String name, String address) {
super();
this.name = name;
this.address = address;
}
public Person(String name, String address, String phone) {
super();
this.name = name;
this.address = address;
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
String name;
String address;
String phone;
}
class Customer extends Person {
public Customer(String name, String address, int customerNumber, int mileage) {
super(name, address);
this.customerNumber = customerNumber;
this.mileage = mileage;
}
public Customer(String name, String address, String phone) {
super(name, address, phone);
}
int customerNumber;
int mileage;
}
public class Test {
public static void main(String[] args) {
...
}
}
3.
class Shape {
protected int x, y;
protected int w, h;
public double getArea() {
return 0;
}
public double getPerimeter() {
return 0;
}
}
class Triangle extends Shape {
int a, b, c;
public Triangle(int a, int b, int c) {
super();
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double getArea() {
return 2.0 * w * h;
}
@Override
public double getPerimeter() {
return a + b + c;
}
}
public class Test {
public static void main(String[] args) {
...
}
}
4.
class Book{
private String title;
private int pages;
private String writer;
public Book(String title,int pages,String writer)
{
this.title=title;
this.pages=pages;
this.writer=writer;
}
public String getTitle(){
return title;
}
public void setTitle(String title){
this.title=title;
}
public int getPages(){
return pages;
}
public void setPages(int pages){
this.pages=pages;
}
public String getWriter(){
return writer;
}
public void setWriter(String writer){
this.writer=writer;
}
public String toString(){
return "책 이름 : "+title+"\n페이지 수 : "+pages+"\n저자 : "+writer;
}
}
public class Magazine extends Book{
private String date;
public Magazine(String title,int pages,String writer,String date)
{
super(title,pages,writer);
this.date=date;
}
public String toString(){
return super.toString()+"\n발매일 :"+date;
}
public static void main(String[] args) {
Magazine 잡지A = new Magazine("잡지A",10,"기자A","2010년 2월 25일");
Magazine 잡지B = new Magazine("잡지B",20,"기자B","2010년 3월 8일");
System.out.println(잡지A.toString());
System.out.println(잡지B.toString());
}
}
5.
class Food{
private int cal; //필드 데이터 정의
private int cost;
private int kg;
public Food(int cal, int cost, int kg){ //생성자 매개변수 존재
this.cal = cal;
this.cost = cost;
this.kg = kg; }
public Food(){ //생성자
this.cal = 0;
this.cost = 0;
this.kg = 0; }
public void setCal(int cal){ //설정자.
this.cal = cal; }
public void setCost(int cost){
this.cost = cost; }
public void setKg(int kg){
this.kg = kg; }
public int getCal(){ //접근자.
return cal; }
public int getCost(){
return cost; }
public int getKg(){
return kg; }
}
class Melon extends Food{ //melon 클래스 작성 Food 상속
private String info; //필드 정의
//Food 상속 생성자 작성
public Melon(int cal, int cost, int kg,String info) {
super(cal, cost, kg); //Food 생성자 호출
this.info = info; }
public Melon(){
super();
info = "NULL";}
public void setInfo(String info){ //설정자.
this.info = info; }
public String getInfo(){ //접근자.
return info; }
public String toString(){
return "Melon의 정보\n칼로리 : "+this.getCal()+"\n가격 : "+
this.getCost()+"\n중량 : "+this.getKg()+"\n정보"+this.getInfo();
}
}
public class Melon_Test { //드라이버 클래스 작성
public static void main(String[] args) {
Melon m1 = new Melon(124,21,2,"jjh_fram");
Melon m2 = new Melon(1,1,1,"0");
m2.setCal(100);
m2.setCost(210);
m2.setKg(21);
m2.setInfo("jjh2_Test");
System.out.println(m1+"\n");
System.out.println(m2);
}
}
6.
class Phone {
public Phone(String maker, int price, int type) {
super();
this.maker = maker;
this.price = price;
this.type = type;
}
public String getMaker() {
return maker;
}
public void setMaker(String maker) {
this.maker = maker;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
protected String maker;
protected int price;
protected int type;
}
class SmartPhone extends Phone {
public String getOs() {
return os;
}
public SmartPhone(String maker, int price, int type, String os,
String version, int memory, boolean hasCamera, boolean hasBluetooth) {
super(maker, price, type);
this.os = os;
this.version = version;
this.memory = memory;
this.hasCamera = hasCamera;
this.hasBluetooth = hasBluetooth;
}
public void setOs(String os) {
this.os = os;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public int getMemory() {
return memory;
}
public void setMemory(int memory) {
this.memory = memory;
}
public boolean isHasCamera() {
return hasCamera;
}
public void setHasCamera(boolean hasCamera) {
this.hasCamera = hasCamera;
}
public boolean isHasBluetooth() {
return hasBluetooth;
}
public void setHasBluetooth(boolean hasBluetooth) {
this.hasBluetooth = hasBluetooth;
}
private String os;
private String version;
private int memory;
private boolean hasCamera;
private boolean hasBluetooth;
}
public class Test {
public static void main(String[] args) {
...
}
}
7.
class Student{ //Student 클래스 정의
private String name; //필드데이터 정의
private int number; //이름,학번,전공,학년,학점
private String major;
private int grade;
private int next_point;
//생성자 정의
public Student(String name,int number,String major,int grade,int next_point){
this.name = name; //매개 변수 와 필드 데이터 이름이 같기에
this.number = number; //this.사용 자신의 클래스 변수를 참조
this.major = major;
this.grade = grade;
this.next_point = next_point; }
public Student(){
name = null;
number = 0;
major = null;
grade = 0;
next_point = 0; }
public String getName(){ //접근자를 설정 한다.
return name; } //외부서 접근자를 통해 해당 데이터 저장
public int getNumber(){
return number; }
public String getMajor(){
return major; }
public int getGrade(){
return grade; }
public int getNext_point(){
return next_point; }
public void setName(String name){ //설정자 정의
this.name = name; } //설정자를 통해 클래스 데이터 변경가능
public void setNumber(int number){
this.number = number; }
public void setMajor(String major){
this.major = major; }
public void setGrade(int grade){
this.grade = grade; }
public void setNext_point(int next_point){
this.next_point = next_point; }
public String toString(){ //toString 재 정의한다. 클래스 정보를 출력
return "이름 :"+name+" 학번 :"+number+" 학과 :"+major+" 학년 :"+
grade+" 이수학점 :"+next_point; }
}
class underGraduate extends Student{ //학부생 클레스 정의 Stduent 로부터 상속받음.
private String club; //필드데이터 정의 "동아리 이름"
//생성자 정의
public underGraduate(String name, int number, String major, int grade,
int nextPoint, String club) {
super(name, number, major, grade, nextPoint);
//super 통해 부모 클래스 생성자 호출
this.club = club; }
public underGraduate(){
super();
club = null; }
public void setClub(String club){ //생성자 설정
this.club = club; }
public String getClub(){ //접근자 설정
return club; }
//toString 재정의한다. 학부생 클래스 정보 출력
public String toString(){
return "이름 :"+getName()+"/ 학번 :"+getNumber()+"/ 학과 :"+getMajor()+
"/ 학년 :"+getGrade()+"/ 이수학점 :"+getNext_point() + "/ 소속 동아리 :"+club;
}
}
class Graduate extends Student{
private String assistant ; //교육조교
private boolean scholarship; //장학금여부
//생성자를 정의 한다.
public Graduate(String name, int number, String major, int grade,
int nextPoint,String assistant, int scholarship) {
super(name, number, major, grade, nextPoint);
//super 사용 부모 클래스 생성자 호출
this.assistant = assistant;
this.scholarship = ((scholarship == 1)? true:false); //입력값을 확인
} //1일경우 true 그외일 경우 false 저장
public Graduate(){
super();
assistant = null;
scholarship = false;
}
public void setAssistant(String assistant){ //설정자 정의
this.assistant = assistant; }
public void setScholarship(boolean scholarship){
this.scholarship = scholarship; }
public String getAssistant(){ //접근자 정의
return assistant; }
public boolean getScholarship(){
return scholarship; }
//toString 재 정의 대학원생 클래스의 정보를 출력
public String toString(){
return "이름 :"+getName()+"/ 학번 :"+getNumber()+"/ 학과 :"+getMajor()+
"/ 학년 :"+getGrade()+"/ 이수학점 :"+getNext_point() + "/ 조교 유형 :"+assistant+"/ 장학금 여부 :"+((scholarship == true)? "받음":"못받음");
}
}
public class student_Test {
public static void main(String[] args) {
underGraduate ug1 = new underGraduate("갑",1000,"컴공",3,84,"날자날어");
Graduate g1 = new Graduate("을", 100, "전자공학", 2, 51,"교육 조교",0);
Graduate g2 = new Graduate("병", 100, "세포생물", 2, 61,"연구 조교",1);
//대학원생 객체를 두개 생성 g1,g2를 통해 참조가능.
System.out.println(ug1); //ug1이 가르키는 객체 정보를 출력(toString 호출)
ug1.setClub("돌고 돌아"); //ug1이 가르키는 객체 클럽설정자 호출, 값 변경
ug1.setNext_point(87); //ug1이 가르키는 객체 학점설정자 호출, 데이터 변경
System.out.println(ug1); //ug1이 가르키를 객체 정보를 출력
System.out.println(g1); //g1이 가르키를 객체 정보를 출력
g2.setGrade(3); //g2가 가르키는 객체 학년설정자를 호출, 값 변경
g2.setNumber(102); //g2가 가르키는 객체 학번설정자를 호출, 값 변경
System.out.println(g2); //g2의 객체 정보를 다시 출력
}
}
'솔루션모음 > 파워자바 프로그래밍' 카테고리의 다른 글
[파워자바] 13장 프로그래밍 솔루션 답지 (0) | 2023.02.15 |
---|---|
[파워자바] 12장 프로그래밍 솔루션 답지 (0) | 2023.02.15 |
[파워자바] 10장 프로그래밍 솔루션 답지 (0) | 2023.02.15 |
[파워자바] 9장 프로그래밍 솔루션 답지 (0) | 2023.02.15 |
[파워자바] 8장 프로그래밍 솔루션 답지 (0) | 2023.02.15 |
댓글