일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- html
- 생활코딩
- FastAPI
- Android
- spring
- 반복문
- servlet
- 객체지향
- API
- 자바
- crud
- 배열
- Mac
- pyqt
- 대덕인재개발원
- nodejs
- Error
- 자바문제
- JDBC
- 이클립스
- ddit
- Java
- jsp
- 맥
- Oracle
- python
- 단축키
- 컬렉션프레임워크
- ibatis
- Homebrew
Archives
- Today
- Total
romworld
Chapter 07 상속 문제 풀이 ( Human, 도형클래스, Bank) 본문
문제 1
Human
// Human 클래스
package z_homework.work7.w01;
public class Human {
private String name;
private int age;
public Human() {
}
public Human(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "이름: " + this.name + ", 나이: " + this.age;
}
}
// Student 클래스
package z_homework.work7.w01;
public class Student extends Human {
private String major;
public Student(String name, int age, String major) {
super(name, age);
this.major = major;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return super.toString() + ",전공 " + this.major;
}
}
문제2
도형클래스
package z_homework.work7.w02;
public class Shape {
public Shape() {
}
public double area() {
return 0.0;
}
public double perimeter() {
return 0.0;
}
}
package z_homework.work7.w02;
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
super();
this.radius = radius;
}
@Override
public double area() {
return Math.pow(radius, 2) * Math.PI;
}
@Override
public double perimeter() {
return 2 * Math.PI * radius;
}
@Override
public String toString() {
return "도형의 종류 : 사각형, 둘레 : " + perimeter() + "㎝, 넓이 : " + area() + "㎠";
}
}
package z_homework.work7.w02;
public class Rectangle extends Shape {
double width;
double height;
public Rectangle(double whidth, double height) {
this.width = whidth;
this.height = height;
}
@Override
public double area() {
return width*height;
}
@Override
public double perimeter() {
return (width + height) * 2;
}
@Override
public String toString() {
return "도형의 종류 : 사각형, 둘레 : " + perimeter() + " ㎝, 넓이 : " + area() + "㎠";
}
}
문제3
Bank
package z_homework.work7.w03;
public class Customer {
private String firstName; //고객 성
private String lastName; //고객 이름
private BankAccount account; //소유계좌
public Customer(String firstName, String lastName) {
super();
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public BankAccount getAccount() {
return account;
}
public void setAccount(BankAccount account) {
this.account = account;
}
@Override
public String toString() {
return String.format("이름 : %s%s, 잔고 : %,d원", getFirstName(), getLastName(),getAccount().getBalance());
// return "이름: " + firstName + lastName + ", 잔고: " + account + "원";
}
}
package z_homework.work7.w03;
public class Bank {
private Customer[] customers; //고객목록
private int numberOfCustomers; //고객수 , 필드에 들어가면 0으로 초기화됨
public Bank() {
this.customers = new Customer[10];
}
public void addCustomer(Customer customer) {
customers[numberOfCustomers++] = customer; // ++가 뒤에 있으니 0번째 자리에 넣고 고객에 수가 1이 되는 거임
//numberOfCustomer += 1;
}
public int getNumberOfCustomers() {
return this.numberOfCustomers;
}
public Customer[] getCustomers() {
return this.customers;
}
public Customer getCustomer(int idx) {
return customers[idx];
}
}
package z_homework.work7.w03;
public class BankAccount {
private int balance;
public BankAccount(int balance) { //현재 계좌
super();
this.balance = balance;
}
public int getBalance() {
return this.balance;
}
public void deposit (int amount) { //예금, 저축, 입금
this.balance += amount;
}
public boolean withdraw (int amount) { //출금 //변수명을 정확히 써줘야 나중에 편함
if(this.balance < amount) {
return false;
}else {
this.balance -= amount;
return true;
}
}
//돈을 받는 계좌 account
public boolean transfer(int amount, BankAccount account) { //이체
boolean isSuccess = this.withdraw(amount); //내 계좌에 출금이 성공이면
if(isSuccess) { //isChecked, isSelected 같은 표현도 많이 씀 메서드 경우에는 boolean을 써줌
// 돈을 받을 계좌에 입금을 하는 것
account.deposit(amount); //입금을 하고
}
return false; //실패면 아무일도 안 일어남
}
}
'JAVA > 문제풀이' 카테고리의 다른 글
컬랙션 프레임워크 연습 문제 1(베이스볼게임) (0) | 2022.10.28 |
---|---|
컬렉션 프레임워크 문제 (List, Map) (0) | 2022.10.10 |
Chepter 06. 객체지향 프로그래밍 클래스 문제 (Circle, Time, Plane, NewCar) (1) | 2022.09.23 |
배열 middleTest (1) | 2022.09.23 |
chapter 05-4. 다차원배열 문제 (학생들의 평균 구하기) (1) | 2022.09.23 |
Comments