Skip to content

Commit

Permalink
problem5-ggang9
Browse files Browse the repository at this point in the history
  • Loading branch information
02ggang9 committed Jul 17, 2023
1 parent cf550c9 commit 68b79bf
Show file tree
Hide file tree
Showing 14 changed files with 114 additions and 21 deletions.
24 changes: 24 additions & 0 deletions src/main/java/Problem/ggang9/Chapter5/Calculator.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package Problem.ggang9.Chapter5;

import java.util.ArrayList;

public class Calculator {

int value;
Expand All @@ -16,4 +18,26 @@ int getValue() {
return this.value;
}

String isOdd(int val) {
if (val % 2 == 0) {
return "even";
}
return "odd";
}

int avg(int[] val) {
int sum = 0;
for (int num : val) {
sum += num;
}
return sum / val.length;
}

int avg(ArrayList<Integer> arr) {
int sum = 0;
for (int num : arr) {
sum += num;
}
return sum / arr.size();
}
}
18 changes: 18 additions & 0 deletions src/main/java/Problem/ggang9/Chapter5/Q01.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
package Problem.ggang9.Chapter5;

class UpgradeCalculator extends Calculator {
public UpgradeCalculator() {

}

public void minus(int val) {
this.value -= val;

}


}

public class Q01 {

/**
Expand All @@ -18,5 +31,10 @@ public static void main(String[] args) {
* cal.minus(3);
* System.out.println(cal.getValue()); // 10에서 3을 뺀 7을 출력
*/

UpgradeCalculator cal1 = new UpgradeCalculator();
cal1.add(10);
cal1.minus(3);
System.out.println(cal1.getValue()); // 10에서 3을 뺀 7을 출력
}
}
17 changes: 17 additions & 0 deletions src/main/java/Problem/ggang9/Chapter5/Q02.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
package Problem.ggang9.Chapter5;

class MaxLimitCalculator extends Calculator {
public MaxLimitCalculator() {

}

public void add(int val) {
this.value += val;
if (this.value >= 100) {
this.value = 100;
}
}
}

public class Q02 {

/**
Expand All @@ -15,5 +28,9 @@ public static void main(String[] args) {
* cal.add(60); // 60 더하기
* System.out.println(cal.getValue()); // 100 출력
* */
MaxLimitCalculator maxLimitCalculator = new MaxLimitCalculator();
maxLimitCalculator.add(50);
maxLimitCalculator.add(60);
System.out.println("maxLimitCalculator = " + maxLimitCalculator.getValue());
}
}
5 changes: 5 additions & 0 deletions src/main/java/Problem/ggang9/Chapter5/Q03.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package Problem.ggang9.Chapter5;



public class Q03 {

/**
Expand All @@ -12,5 +14,8 @@ public static void main(String[] args) {
* System.out.println(cal.isOdd(3)); // 3은 홀수이므로 true 출력
* System.out.println(cal.isOdd(4)); // 4는 짝수이므로 false 출력
*/
Calculator calculator = new Calculator();
System.out.println("calculator = " + calculator.isOdd(3));
System.out.println("calculator = " + calculator.isOdd(4));
}
}
14 changes: 14 additions & 0 deletions src/main/java/Problem/ggang9/Chapter5/Q04.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package Problem.ggang9.Chapter5;

import java.util.ArrayList;
import java.util.Arrays;

public class Q04 {

/**
Expand All @@ -23,5 +26,16 @@ public static void main(String[] args) {
* int result = cal.avg(data);
* System.out.println(result); // 5 출력
*/

int[] data = {1,3,5,7,9};
Calculator calculator = new Calculator();
int result = calculator.avg(data);
System.out.println("result = " + result);

ArrayList<Integer> data1 = new ArrayList<>(Arrays.asList(1, 3, 5, 7, 9));
Calculator calculator1 = new Calculator();
int result1 = calculator1.avg(data1);
System.out.println("result1 = " + result1);

}
}
2 changes: 2 additions & 0 deletions src/main/java/Problem/ggang9/Chapter5/Q05.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ public class Q05 {
*/
public static void main(String[] args) {
// TODO: 다음 프로그램의 출력결과를 예측하고 그 이유에 대해서 주석으로 설명하시오.
// 둘 다 같은 객체라서
// 4

ArrayList<Integer> a = new ArrayList<>(Arrays.asList(1, 2, 3));
ArrayList<Integer> b = a;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/Problem/ggang9/Chapter5/Q06.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ public static void main(String[] args) {
cal.add(3); // 여기서 NullPointerException 이 발생한다.
System.out.println(cal.getValue());
}

}
7 changes: 6 additions & 1 deletion src/main/java/Problem/ggang9/Chapter5/Q7/Bronze.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package Problem.ggang9.Chapter5.Q7;

class Bronze {
class Bronze implements Mineral{


@Override
public int getValue() {
return 80;
}
}
6 changes: 5 additions & 1 deletion src/main/java/Problem/ggang9/Chapter5/Q7/Gold.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
* 기능(add 메스드)이 있다.
*/

class Gold {
class Gold implements Mineral{

@Override
public int getValue() {
return 100;
}
}
5 changes: 4 additions & 1 deletion src/main/java/Problem/ggang9/Chapter5/Q7/Mineral.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
package Problem.ggang9.Chapter5.Q7;public interface Mineral {
package Problem.ggang9.Chapter5.Q7;

public interface Mineral {
int getValue();
}
12 changes: 2 additions & 10 deletions src/main/java/Problem/ggang9/Chapter5/Q7/MineralCalculator.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,8 @@ class MineralCalculator {

int value = 0;

public void add(Gold gold) {
this.value += 100;
}

public void add(Silver silver) {
this.value += 90;
}

public void add(Bronze bronze) {
this.value += 80;
public void add(Mineral mineral) {
this.value += mineral.getValue();
}

public int getValue() {
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/Problem/ggang9/Chapter5/Q7/Silver.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package Problem.ggang9.Chapter5.Q7;

class Silver {
class Silver implements Mineral{

@Override
public int getValue() {
return 90;
}
}
12 changes: 7 additions & 5 deletions src/main/java/Problem/ggang9/Chapter5/Q8_9/Q08.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ public class Q08 {
* 다음의 코드를 보고 1번, 2번, 3번, 4번, 5번 문장 중에서 오류가 발생하는 문장을 모두 찾고 오류의 원인에 대해서 주석으로 설명하시오.
*/
public static void main(String[] args) {
// Animal a = new Animal(); // 1번
// Animal b = new Dog(); // 2번
// Animal c = new Lion(); // 3번
// Dog d = new Animal(); // 4번
// Predator e = new Lion(); // 5번
// Animal a = new Animal(); // 1번
// Animal b = new Dog(); // 2번
// Animal c = new Lion(); // 3번
// Dog d = new Animal(); // 4번
// Predator e = new Lion(); // 5번

// 4번 자식 타입으로 부모 객체 생성 안됨.
}
}
6 changes: 4 additions & 2 deletions src/main/java/Problem/ggang9/Chapter5/Q8_9/Q09.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ public static void main(String[] args) {
Predator c = new Lion();

// System.out.println(a.hello()); // 1번
// System.out.println(a.bark()); // 2번
// System.out.println(a.bark()); // 2번 -> Animal은 인터페이스 구현체가 아니라서 안됨
// System.out.println(b.hello()); // 3번
// System.out.println(b.bark()); // 4번
// System.out.println(c.hello()); // 5번
// System.out.println(c.hello()); // 5번 -> 이 인터페이스의 메서드에 hello는 없음
// System.out.println(c.bark()); // 6번


}
}

0 comments on commit 68b79bf

Please sign in to comment.