diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..0319d5d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..0b0b192
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..9768975
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hanghae-java-study-12 b/hanghae-java-study-12
new file mode 160000
index 0000000..e782271
--- /dev/null
+++ b/hanghae-java-study-12
@@ -0,0 +1 @@
+Subproject commit e782271e8d4d2a4858ca60bb0d9f81fb7be495fd
diff --git a/hanghae-java-study-12.iml b/hanghae-java-study-12.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/hanghae-java-study-12.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/.gitignore b/src/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/src/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/src/.idea/misc.xml b/src/.idea/misc.xml
new file mode 100644
index 0000000..0319d5d
--- /dev/null
+++ b/src/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/modules.xml b/src/.idea/modules.xml
new file mode 100644
index 0000000..0b0b192
--- /dev/null
+++ b/src/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/vcs.xml b/src/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/src/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/choiwonbin/report1/Report1_1 b/src/choiwonbin/report1/Report1_1
index 3f37658..dc367b0 100644
--- a/src/choiwonbin/report1/Report1_1
+++ b/src/choiwonbin/report1/Report1_1
@@ -1,3 +1,3 @@
2-4번 문제
-정답 :
+정답 : 3
diff --git a/src/hanghae-java-study-12 b/src/hanghae-java-study-12
new file mode 160000
index 0000000..701e0f0
--- /dev/null
+++ b/src/hanghae-java-study-12
@@ -0,0 +1 @@
+Subproject commit 701e0f069f8c6680190d13c15724b5bfde9272a1
diff --git a/src/hanghae-java-study-12.iml b/src/hanghae-java-study-12.iml
new file mode 100644
index 0000000..b107a2d
--- /dev/null
+++ b/src/hanghae-java-study-12.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/jominsung/report1/Report1_1 b/src/jominsung/report1/Report1_1
new file mode 100644
index 0000000..f50f3aa
--- /dev/null
+++ b/src/jominsung/report1/Report1_1
@@ -0,0 +1,13 @@
+2-4번 문제
+
+//2-4. 다음 중 변수를 잘못 초기화 한 것은?
+byte b = 256;
+char c = '';
+char answer = 'no';
+float f = 3.14
+double d = 1.4e3f;
+
+정답 : byte b = 256;는 128까지인데 256을 입력해서 안됩니다.
+ char c = '';는 빈칸만 있어서 안됩니다.
+ char answer = 'no';는 문자 코드라 한개만 입력해야되는데 no로 두개라 안됩니다.
+ float f = 3.14은 ;도 없고 float인데 뒤에 f도 붙지 않아서 안됩니다.
diff --git a/src/jominsung/report1/Report1_2 b/src/jominsung/report1/Report1_2
new file mode 100644
index 0000000..26db100
--- /dev/null
+++ b/src/jominsung/report1/Report1_2
@@ -0,0 +1,11 @@
+2-7번 문제
+
+//2-7. 다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, '오류' 라고 적으세요.
+
+정답 :System.out.println("1" + "2"); ( 12 )
+ System.out.println(true+""); ( true )
+ System.out.println('A' + 'B'); ( 131 )
+ System.out.println('1' + 2); ( 51 )
+ System.out.println('1' + '2'); ( 99 )
+ System.out.println('J' +"ava"); ( Java )
+ System.out.println(true + null); ( 오류 )
\ No newline at end of file
diff --git a/src/jominsung/report1/Report1_3.java b/src/jominsung/report1/Report1_3.java
new file mode 100644
index 0000000..b521d18
--- /dev/null
+++ b/src/jominsung/report1/Report1_3.java
@@ -0,0 +1,36 @@
+package jominsung.report1;
+// 2-8 번 문제 <- 이렇게 문제 번호 작성 필수
+public class Report1_3 {
+ public static void main(String[] args) {
+ AddClass addClass = new AddClass();
+ addClass.test();
+//2-8. 아래는 변수 x, y, z의 값을 서로 바꾸는 예제이다. 결과와 같이 출력되도록 코드를 넣으세요.
+ int x = 1;
+ int y = 2;
+ int z = 3;
+
+ int tmp = 0;
+
+ tmp = x;
+ x = y;
+ y = z;
+ z = tmp;
+
+
+
+ System.out.println("x="+x);
+ System.out.println("y="+y);
+ System.out.println("z="+z);
+ }
+}
+//예상 결과 : x=2, y=3, z=1
+
+
+// 필요하다면 클래스 추가
+class AddClass {
+ void test() {
+ System.out.println("AddClass.test");
+
+
+ }
+}
diff --git a/src/jominsung/report2/Report2_2.java b/src/jominsung/report2/Report2_2.java
new file mode 100644
index 0000000..d64b905
--- /dev/null
+++ b/src/jominsung/report2/Report2_2.java
@@ -0,0 +1,117 @@
+package jominsung.report2;
+public class Report2_2 {
+ public static void main(String[] args) {
+
+ // 3-1. 다음 중 형변환을 생략할 수 있는 것은? (모두 고르시오)
+ byte b = 10;
+ char ch = 'A';
+ int i = 100;
+ long l = 1000L;
+
+ b = (byte) i;
+ ch = (char) b;
+ short s = (short) ch;
+ float f = (float) l;
+ i = (int) ch;
+ // 정답 float f = (float)l; , i = (int)ch;
+ }
+}
+
+ //3-2. 다음 연산의 결과와 그 이유를 적으세요.
+ class Report3_2{
+ public static void main(String[] args){
+ int x = 2;
+ int y = 5;
+ char c = 'A'; // 'A'의 문자코드는 65
+
+ //true 이며 x < 0 && x > 2 만 보면 and 코드 이기도 하지만 원래 틀렸는데 false가 나오겠지만 앞에 y >= 5 || 가 OR코드 이며 맞는거기에 true가 나옴
+ System.out.println(y >= 5 || x < 0 && x > 2);
+ //13 이며 y += 10 을 했을때 15가 되며 - x++ 은 ++이 더하기 1 과 같은데 x++ 이기때문에 x값을 먼저 가져와서 그냥 2이기 때문이다.
+ System.out.println(y += 10 - x++);
+ //5 이며 원래 같으면 2 + 2 같지만 위에 x++ 에서 후위 전산때문에 +1이 되서 3 + 2가 되서 5이다
+ System.out.println(x += 2);
+ //false 이며 원래는 둘다 맞는 공식이라 true 가 나와야 되는데 ! 가 not 코드라 flase가 된다.
+ System.out.println(!('A' <= c && c <= 'Z'));
+ //2 이며 'C'가 아스키코드로 67 이고 char c = 'A'라고 정의 했는데 'A'의 문자코드가 65 이기에 실질적으로 67 - 65 라서 이다.
+ System.out.println('C' - c);
+ //5 이며 문자열 - 문자열 이라 5가 나옵니다.
+ System.out.println('5' - '0');
+ //66이며 여기서 c가 'A' 인데 문자코드로 65에 +1을 해서 문자코드가 66이 되기 때문이다.
+ System.out.println(c + 1);
+ //B이며 전위 연산인데 ++가 +1 하는거와 같기때문에 c = "A' = 65에 +1을 하기때문이다.
+ System.out.println(++c);
+ //B가 나오며 원래 c++이 위에 있었으면 A가 나오겠지만 앞서 ++c를 먹고 내려와서 B가 나온다.
+ System.out.println(c++);
+ //C가 나오며 앞에 c++에서 c가 먹지가 않았는데 이 ++값이 뒤에 c값에 들어가서 +1되가지고 문자 코드가 67이 돼서 C가 된다.
+ System.out.println(c);
+ }
+ }
+
+
+
+//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다.
+//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다.
+//알맞은 코드를 넣으시오.
+ class Report3_3 {
+ public static void main(String[] args){
+ int num = 456;
+ // 실수가 아닌 정수인 int를 써서 100을 나눠도 소숫점이 안나오기에 다시 100을 곱하면 400이 됨
+ System.out.println(num/100*100);
+ }
+ }
+
+
+
+//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다.
+//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다.
+//알맞은 코드를 넣으시오.
+ class Report3_4{
+ public static void main(String[] args){
+ int numOfApples = 123; // 사과의 개수
+ int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수)
+ int numOfBucket = numOfApples/sizeOfBucket+(numOfApples%sizeOfBucket > 0 ? 1 : 0 ); // 모든 사과를 담는데 필요한 바구니의 수
+
+ //한 바구니당 10개씩 담을수 있으니 여기서 사과의 개수 나누기 바구니의 크기 값을 하면 12가 되는데 여기서 +1을 해야되는 상황인데
+ // 여기서 혹여나 값을 변형 했을때 그거에 맞게 바구니의 수도 늘려야 되기 때문에 조건문을 썻고 나머지가 줄어들수록 바구니의 갯수도 정확해해질수 있기에 나머지 구하는 연산을 썻다.
+
+ System.out.println("필요한 바구니의 수 :"+numOfBucket);
+ }
+ }
+//예상 결과 -> 필요한 바구니의 수 :13
+
+
+
+//3-5. 아래는 변수 num의 값에 따라 '양수', '음수', '0'을 출력하는 코드이다.
+//삼항연산자를 이용해서 빈칸에 알맞은 코드를 넣으시오.
+//Hint : 삼항 연산자를 두 번 사용할 것!
+ class Report3_5{
+ public static void main(String[] args){
+ int num = 10;
+ // 일단 두개는 어떻게 써야되는지 몰라서 구글링을 해서 확인 해서 이렇게 써봣는데 양수는 나오게 했는데 값이 달라졌을때 값을 바꾸는건 어떻게 해야될지 모르겟습니다.
+ System.out.println(num >= 0 ?(num >= 0 ? "양수" : "0" ) : "음수");
+ }
+ }
+//예상 결과 : 양수
+
+
+
+//3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다.
+//변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오.
+// 단, 변환값은 소수점 셋째자리에서 반올림하며, Math.round() 함수를 사용하지 않고 처리할 것!
+ class Report3_6{
+ public static void main(String[] args){
+ int fahrenheit = 100;
+ float a = (float)5/9*(fahrenheit - 32)* 1000;
+ int b = (int)a;
+
+ if (b%10 >= 5) {
+ b = b + 10 - 7;
+ }
+ double Celcius = b * 0.001;
+
+ System.out.println("Fahrenheit:"+fahrenheit);
+ System.out.println("Celcius:"+ Celcius );
+ }
+ }
+//예상 결과 : Fahrenheit:100, Celcius:37.78
+
diff --git a/src/jominsung/report3/Report3_1 b/src/jominsung/report3/Report3_1
new file mode 100644
index 0000000..3259441
--- /dev/null
+++ b/src/jominsung/report3/Report3_1
@@ -0,0 +1,54 @@
+4-1. 다음의 문장들을 조건식으로 표현해보세요.
+
+int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식
+ int x = 15;
+ if (10 < x && x < 20) {
+ System.out.println(true);
+ } else {
+ System.out.println(false);
+ }
+
+char형 변수 ch가 공백이나 탭이 아닐 때 true인 조건식
+ char ch = 'a';
+
+ if (ch != ' ' && ch != '\t' ) {
+ System.out.println(true);
+ }else {
+ System.out.println(false);
+ }
+
+char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식
+ char ch = 'x';
+ if (ch == 'x' || ch == 'X'){
+ System.out.println(true);
+ }else {
+ System.out.println(false);
+ }
+
+char형 변수 ch가 숫자('0'~'9')일 때 true인 조건식
+ char ch = '5';
+ if ('0' <= ch && ch <= '9') {
+ System.out.println(true);
+ } else {
+ System.out.println(false);
+ }
+
+char형 변수 ch가 영문자(대문자 또는 소문자)일 때 true인 조건식
+ char ch = 'c';
+ if ('a' <= ch && ch <= 'z') {
+ System.out.println(true);
+ } else if ('A' <= ch && ch <= 'Z') {
+ System.out.println(true);
+ }else {
+ System.out.println(false);
+ }
+
+int형 변수 year가 400으로 나눠떨어지거나 또는 4로 나눠떨어지고 100으로 나눠떨어지지 않을때 true인 조건식
+ int year = 400;
+ if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)){
+ System.out.println(true);
+ };
+ }
+
+
+
diff --git a/src/jominsung/report3/Report3_10.java b/src/jominsung/report3/Report3_10.java
new file mode 100644
index 0000000..1a578d7
--- /dev/null
+++ b/src/jominsung/report3/Report3_10.java
@@ -0,0 +1,48 @@
+package jominsung.report3;
+
+public class Report3_10 {
+ public static void main(String[] args) {
+ //4-10. 다음은 숫자맞추기 게임을 작성한 것이다. 1과 100사이의 값을 반복적으로 입력해서
+//컴퓨터가 생각한 값을 맞추면 게임이 끝난다.
+//사용자가 값을 입력하면, 컴퓨터는 자신이 생각한 값과 비교해서 결과를 알려준다.
+//사용자가 컴퓨터가 생각한 숫자를 맞추면 게임이 끝나고 몇 번 만에 숫자를 맞췄는지 알려준다.
+
+
+ // 1~100사이의 임의의 값을 얻어서 answer에 저장한다.
+ int answer = (int)(Math.random() * 100);
+ int input = 0; //사용자입력을 저장할 공간
+ int count = 0; //시도횟수를 세기위한 변수
+
+ // 화면으로 부터 사용자입력을 받기 위해서 Scanner클래스 사용
+ java.util.Scanner s = new java.util.Scanner(System.in);
+ do {
+ count++;
+ System.out.print("1과 100사이의 값을 입력하세요 : ");
+ input = s.nextInt(); //입력받은 값을 변수 input에 저장한다.
+
+ if (answer > input) {
+ System.out.println("더 큰 수를 입력하세요.");
+ }else if (answer < input) {
+ System.out.println("더 작은 수를 입력하세요");
+ }else {
+ System.out.println("정답 입니다!!");
+ System.out.println("시도한 횟수는 " + count + "입니다~");
+ break;
+ }
+ } while(true); //무한반복문
+ } // end of main
+} // end of class
+//예상 결과
+//1과 100사이의 값을 입력하세요 : 50
+//더 큰 수를 입력하세요.
+//1과 100사이의 값을 입력하세요 : 75
+//더 큰 수를 입력하세요.
+//1과 100사이의 값을 입력하세요 : 87
+//더 작은 수를 입력하세요.
+//1과 100사이의 값을 입력하세요 : 80
+//더 작은 수를 입력하세요.
+//1과 100사이의 값을 입력하세요 : 77
+//더 작은 수를 입력하세요.
+//1과 100사이의 값을 입력하세요 : 76
+//맞혔습니다.
+//시도횟수는 6번입니다.
diff --git a/src/jominsung/report3/Report3_2.java b/src/jominsung/report3/Report3_2.java
new file mode 100644
index 0000000..631114e
--- /dev/null
+++ b/src/jominsung/report3/Report3_2.java
@@ -0,0 +1,15 @@
+package jominsung.report3;
+
+public class Report3_2 {
+ public static void main(String[] args) {
+ //4-2. 1부터 20까지의 정수중에서 2 또는 3의 배수가 아닌 수의 총합을 구하세요.
+ int sum = 0;
+ for (int i = 0; i <= 20; i++) {
+ if (i % 2 == 0 || i % 3 == 0)
+ continue;
+ sum += i;
+ System.out.println("sum=" + sum);
+ }
+ }
+}
+
diff --git a/src/jominsung/report3/Report3_3.java b/src/jominsung/report3/Report3_3.java
new file mode 100644
index 0000000..f202ba8
--- /dev/null
+++ b/src/jominsung/report3/Report3_3.java
@@ -0,0 +1,16 @@
+package jominsung.report3;
+
+public class Report3_3 {
+ public static void main(String[] args) {
+ //4-3. 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하세요.
+ int sum = 0;
+ int totalSum = 0;
+
+ for(int i = 1; i <= 10; i++ )
+ sum += i;
+ totalSum += sum;
+
+ System.out.println("totalSum="+totalSum);
+}
+}
+
diff --git a/src/jominsung/report3/Report3_4.java b/src/jominsung/report3/Report3_4.java
new file mode 100644
index 0000000..54885ba
--- /dev/null
+++ b/src/jominsung/report3/Report3_4.java
@@ -0,0 +1,21 @@
+package jominsung.report3;
+
+public class Report3_4 {
+ public static void main(String[] args) {
+ //4-4. 1+(-2)+3+(-4)+...과 같은 식으로 계속 더해나갔을 때,
+ //몇까지 더해야 총합이 100 이상이 되는지 구하세요.
+ int sum = 0; // 총합을 저장할 변수
+ int s = 1; // 값의 부호를 바꿔주는데 사용할 변수
+ int num = 0;
+ for (int i = 1; true; i++) {
+ s = -s;
+ num = s * i;
+ sum += num;
+ if (sum > 100)
+ break;
+ }
+ System.out.println("num=" + num);
+ System.out.println("sum=" + sum);
+ }
+}
+
diff --git a/src/jominsung/report3/Report3_5.java b/src/jominsung/report3/Report3_5.java
new file mode 100644
index 0000000..932aff0
--- /dev/null
+++ b/src/jominsung/report3/Report3_5.java
@@ -0,0 +1,19 @@
+package jominsung.report3;
+
+public class Report3_5 {
+ public static void main(String[] args) {
+ //4-5. 다음의 for문을 while문으로 변경하세요.
+ int i = 0;
+
+ while (i<=10){
+ int j = 0;
+ while (j<=i){
+ System.out.print("*");
+ j++;
+ }System.out.println();
+ i++;
+ }
+ }
+}//end of main
+// end of class
+
diff --git a/src/jominsung/report3/Report3_6.java b/src/jominsung/report3/Report3_6.java
new file mode 100644
index 0000000..53ef36c
--- /dev/null
+++ b/src/jominsung/report3/Report3_6.java
@@ -0,0 +1,17 @@
+package jominsung.report3;
+
+public class Report3_6 {
+ public static void main(String[] args) {
+ //4-6. 두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성하세요.
+ allLoop:
+ for (int i = 1; i < 7; i++) {
+ for (int j = 1; j < 7; j++) {
+ if (i+j==6) {
+
+ System.out.println(i+"+"+j+"="+(i+j));
+ }
+ }
+ }
+ }
+}
+
diff --git a/src/jominsung/report3/Report3_7.java b/src/jominsung/report3/Report3_7.java
new file mode 100644
index 0000000..d3edf28
--- /dev/null
+++ b/src/jominsung/report3/Report3_7.java
@@ -0,0 +1,17 @@
+package jominsung.report3;
+
+public class Report3_7 {
+ public static void main(String[] args) {
+ //4-7. 숫자로 이루어진 문자열 str이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하세요.
+ //만일 문자열이 "12345"라면, ‘1+2+3+4+5’의 결과인 15를 출력이 출력되어야 합니다.
+ String str = "12345";
+ int sum = 0;
+
+ for (int i = 0; i < str.length(); i++) {
+ sum += str.charAt(i) - '0';
+ }
+
+ System.out.println("sum=" + sum);
+ }
+}//예상 결과 : sum=15
+
diff --git a/src/jominsung/report3/Report3_8.java b/src/jominsung/report3/Report3_8.java
new file mode 100644
index 0000000..e451cc9
--- /dev/null
+++ b/src/jominsung/report3/Report3_8.java
@@ -0,0 +1,11 @@
+package jominsung.report3;
+
+public class Report3_8 {
+ public static void main(String[] args) {
+ //4-8. Math.random()을 이용해서 1부터 6 사이의 임의의 정수를 변수 value에 저장하는 코드를 완성하세요.
+
+
+ int value = (int) (Math.random() * 6);
+ System.out.println("value:"+value);
+ }
+}
\ No newline at end of file
diff --git a/src/jominsung/report3/Report3_9.java b/src/jominsung/report3/Report3_9.java
new file mode 100644
index 0000000..b169798
--- /dev/null
+++ b/src/jominsung/report3/Report3_9.java
@@ -0,0 +1,19 @@
+package jominsung.report3;
+
+public class Report3_9 {
+ public static void main(String[] args) {
+ //4-9. int 타입의 변수 num이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하세요.
+ //만일 변수 num의 값이 12345라면, ‘1+2+3+4+5’의 결과인 15를 출력하세요.
+ //문자열로 변환하지 말고 숫자로만 처리하세요.
+
+ int num = 12345;
+ int sum = 0;
+
+ while (num > 0) {
+ sum += num % 10;
+ num /= 10;
+ }
+
+ System.out.println("sum=" + sum);
+ }
+}//예상 결과 : sum=15
diff --git "a/src/jominsung/report3/\353\241\234\352\267\270\354\235\270 \355\235\220\353\246\204 Flowchart.png" "b/src/jominsung/report3/\353\241\234\352\267\270\354\235\270 \355\235\220\353\246\204 Flowchart.png"
new file mode 100644
index 0000000..5e9bfa1
Binary files /dev/null and "b/src/jominsung/report3/\353\241\234\352\267\270\354\235\270 \355\235\220\353\246\204 Flowchart.png" differ
diff --git a/src/jominsung/report4/Report4_1 b/src/jominsung/report4/Report4_1
new file mode 100644
index 0000000..d0413d6
--- /dev/null
+++ b/src/jominsung/report4/Report4_1
@@ -0,0 +1,11 @@
+ //5-1. 다음은 배열을 선언하거나 초기화한 것이다. 잘못된 것을 고르고 그 이유를 설명하세요.
+
+ int[] arr[];
+ int[] arr = {1,2,3,};
+ int[] arr = new int[5];
+ int[] arr = new int[5]{1,2,3,4,5};
+ int arr[5];
+ int[] arr[] = new int[3][];
+
+정답 :5번 입니다. 배열의 크기를 정하고 만들지 못하는걸로 압니다.
+ 원래 int[] arr = new arr[5]이렇게 써서 리터럴?에서 크기를 정하는걸로 압니다.
\ No newline at end of file
diff --git a/src/jominsung/report4/Report4_2 b/src/jominsung/report4/Report4_2
new file mode 100644
index 0000000..7956f5c
--- /dev/null
+++ b/src/jominsung/report4/Report4_2
@@ -0,0 +1,11 @@
+//5-2. 다음과 같은 배열이 있을 때, arr[3].length의 값은?
+
+int[][]arr ={
+ {5,5,5,5,5},
+ {10,10,10},
+ {20,20,20,20},
+ {30,30}
+};
+
+정답 :2 입니다.
+ 인덱스가 0부터 시작이고 2배열이라 arr 안에있는 3번째 인덱스가 30,30 이라 array값이 2 입니다.
\ No newline at end of file
diff --git a/src/jominsung/report4/Report4_3.java b/src/jominsung/report4/Report4_3.java
new file mode 100644
index 0000000..856c0af
--- /dev/null
+++ b/src/jominsung/report4/Report4_3.java
@@ -0,0 +1,15 @@
+package jominsung.report4;
+
+public class Report4_3 {
+ public static void main(String[] args) {
+ //5-3. 배열 arr에 담긴 모든 값을 더하는 프로그램을 완성하세요.
+
+ int[] arr = {10, 20, 30, 40, 50};
+ int sum = 0;
+
+ for (int i = 0; i < arr.length; i++)
+ sum += arr[i];
+ System.out.println("sum=" + sum);
+ }
+}//예상 결과 : sum=150
+
diff --git a/src/jominsung/report4/Report4_4.java b/src/jominsung/report4/Report4_4.java
new file mode 100644
index 0000000..61bc753
--- /dev/null
+++ b/src/jominsung/report4/Report4_4.java
@@ -0,0 +1,31 @@
+package jominsung.report4;
+
+public class Report4_4 {
+ public static void main(String[] args) {
+ //5-4. 2차원 배열 arr에 담긴 모든 총합과 평균을 구하는 프로그램을 완성하세요.
+
+ int[][] arr = {
+ { 5, 5, 5, 5, 5 },
+ { 10, 10, 10, 10, 10 },
+ { 20, 20, 20, 20, 20 },
+ { 30, 30, 30, 30, 30 }
+ };
+
+
+ int total = 0;
+ float average = 0;
+ int k = 0;
+
+ for (int i = 0; i < arr.length; i++) {
+ for (int j = 0; j < arr[i].length; j++) {
+ total += arr[i][j];
+ }
+ k += arr[i].length;
+ }
+
+ average = total / (float) k;
+ System.out.println("total=" + total);
+ System.out.println("average=" + average);
+ } // end of main
+} // end of class
+
diff --git a/src/jominsung/report4/Report4_5.java b/src/jominsung/report4/Report4_5.java
new file mode 100644
index 0000000..6004390
--- /dev/null
+++ b/src/jominsung/report4/Report4_5.java
@@ -0,0 +1,31 @@
+package jominsung.report4;
+
+public class Report4_5 {
+ public static void main(String[] args) {
+ //5-5. 다음은 1과 9 사이의 중복되지 않은 숫자로 이루어진 3자리 숫자를 만들어내는 프로그램이다.
+//코드를 완성하세요. 다만 Math.random()을 사용했기 때문에 실행 결과 예시와 다를 수 있습니다.
+ int[] ballArr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
+ int[] ball3 = new int[3];
+
+ // 배열 ballArr의 임의의 요소를 골라서 위치를 바꾼다
+ for (int i = 0; i < ballArr.length; i++) {
+ int j = (int) (Math.random() * ballArr.length);
+ int tmp = 0;
+
+ tmp = ballArr[i];
+ ballArr[i] = ballArr[j];
+ ballArr[j] = tmp;
+ }
+
+ for (int i = 0; i < 3; i++){
+ ball3[i] = ballArr[i];
+ }
+ // 배열 ballArr의 앞에서 3개의 수를 배열 ball3로 복사한다
+
+
+ for (int i = 0; i < ball3.length; i++) {
+ System.out.print(ball3[i]);
+ }
+ }//end of main
+}//end of class
+
diff --git a/src/jominsung/report4/Report4_6.java b/src/jominsung/report4/Report4_6.java
new file mode 100644
index 0000000..dfdc3a6
--- /dev/null
+++ b/src/jominsung/report4/Report4_6.java
@@ -0,0 +1,39 @@
+package jominsung.report4;
+
+import java.util.Scanner;
+
+public class Report4_6 {
+ public static void main(String[] args) {
+
+//5-6. 단어의 글자위치를 섞어서 보여주고 원래의 단어를 맞추는 예제이다.
+//실행결과와 같이 동작하도록 빈 칸을 채우세요.
+
+
+ String[] words = { "television", "computer", "mouse", "phone" };
+
+ Scanner scanner = new Scanner(System.in);
+
+ for (int i = 0; i < words.length; i++) {
+ char[] question = words[i].toCharArray(); // String을 char[]로 변환
+
+ for(int j = 0; j < question.length; j++){
+
+ int p = (int) (Math.random()* question.length);
+ char tmp;
+ tmp = question[i];
+ question[i] = question[j];
+ question[j] = tmp;
+
+ }
+
+ System.out.printf("Q%d. %s의 정답을 입력하세요 .>", i + 1, new String(question));
+ String answer = scanner.nextLine();
+
+ // trim()으로 answer의 좌우 공백을 제거한 후, equals로 word[i]와 비교
+ if (words[i].equals(answer.trim()))
+ System.out.printf("맞았습니다.%n%n");
+ else
+ System.out.printf("틀렸습니다.%n%n");
+ }
+ } //end of main
+}//end of class
diff --git a/src/jominsung/report5/Report5_1 b/src/jominsung/report5/Report5_1
new file mode 100644
index 0000000..2f8d3e5
--- /dev/null
+++ b/src/jominsung/report5/Report5_1
@@ -0,0 +1,16 @@
+//6-1. 다음과 같은 멤버 변수를 갖는 Student 클래스를 정의하세요.
+//타입 : String, 변수명 : name, 설명 : 학생 이름
+//타입 : int, 변수명 : ban, 설명 : 반
+//타입 : int, 변수명 : no, 설명 : 번호
+//타입 : int, 변수명 : kor, 설명 : 국어 점수
+//타입 : int, 변수명 : eng, 설명 : 영어 점수
+//타입 : int, 변수명 : math, 설명 : 수학 점수
+
+정답:
+class Student {
+ String name;
+ int ban;
+ int no;
+ int kor;
+ int eng;
+ int math;
\ No newline at end of file
diff --git a/src/jominsung/report5/Report5_2.java b/src/jominsung/report5/Report5_2.java
new file mode 100644
index 0000000..3dc7d03
--- /dev/null
+++ b/src/jominsung/report5/Report5_2.java
@@ -0,0 +1,42 @@
+package jominsung.report5;
+// 6-2 번 문제
+public class Report5_2 {
+ public static void main(String[] args) {
+ Student s = new Student("홍길동",1,1,100,60,76);
+
+ String str = s.info();
+ System.out.println(str);
+ }
+}
+
+
+class Student {
+ String name;
+ int ban;
+ int no;
+ int kor;
+ int eng;
+ int math;
+
+ Student(String name, int ban, int no, int kor, int eng, int math){
+ this.name = name;
+ this.ban = ban;
+ this.no = no;
+ this.kor = kor;
+ this.eng = eng;
+ this.math = math;
+ }
+ // 합계
+ int total(){
+ return kor + eng + math;
+ }
+ // 평균
+ float average(){
+ return (int)(total() /3f * 10 + 0.5f) / 10.f;
+ }
+
+ String info() {
+ return name+","+ban+","+no+","+kor+","+eng+","+math+","+total()+","+average();
+ }
+}
+
diff --git a/src/jominsung/report5/Report5_3.java b/src/jominsung/report5/Report5_3.java
new file mode 100644
index 0000000..a5d006c
--- /dev/null
+++ b/src/jominsung/report5/Report5_3.java
@@ -0,0 +1,37 @@
+package jominsung.report5;
+
+public class Report5_3 {
+ public static void main(String[] args) {
+ Students s = new Students();
+ s.name = "홍길동";
+ s.ban = 1;
+ s.no = 1;
+ s.kor = 100;
+ s.eng = 60;
+ s.math = 76;
+ System.out.println("이름 :"+s.name);
+ System.out.println("총점 :"+s.getTotal());
+ System.out.println("평균 :"+s.getAverage());
+ }//예상 결과 : 이름 : 홍길동, 총점 : 236, 평균 : 78.7
+}
+class Students {
+ String name;
+ int ban;
+ int no;
+ int kor;
+ int eng;
+ int math;
+
+ Students() {}
+
+ int getTotal(){
+ return kor + eng + math;
+ }
+
+
+ float getAverage(){
+ return (int)(getTotal() /3f * 10 + 0.5f) / 10.f;
+ }
+}
+
+
diff --git a/src/jominsung/report5/Report5_4.java b/src/jominsung/report5/Report5_4.java
new file mode 100644
index 0000000..104e97a
--- /dev/null
+++ b/src/jominsung/report5/Report5_4.java
@@ -0,0 +1,26 @@
+package jominsung.report5;
+
+public class Report5_4 {
+ public static void main(String[] args) {
+ //6-5. 다음의 코드에 정의된 변수들을 종류별(클래스 변수,인스턴스 변수, 지역변수)로 구분해서 적으세요.
+
+
+ }
+}
+class PlayingCard {
+ //인스턴스 변수
+ int kind;
+ int num;
+
+ //클래스 변수
+ static int width;
+ static int height;
+ PlayingCard(int k, int n) {
+ //지역변수
+ kind = k;
+ num = n;
+ }
+ public static void main(String args[]) {
+ PlayingCard card = new PlayingCard(1,1);
+ }
+}
\ No newline at end of file
diff --git a/src/jominsung/report5/Report5_5.java b/src/jominsung/report5/Report5_5.java
new file mode 100644
index 0000000..6199e60
--- /dev/null
+++ b/src/jominsung/report5/Report5_5.java
@@ -0,0 +1,28 @@
+package jominsung.report5;
+
+public class Report5_5 {
+ public static void main(String[] args) {
+ //6-7. 다음은 컴퓨터 게임의 병사(marine)를 클래스로 정의한 것이다.
+//이 클래스의 멤버 중에 static을 붙여야 하는 것은 어떤 것들이고 그 이유는 무엇인가?
+//(단, 모든 병사의 공격력과 방어력은 같아야 한다.)
+ class Marine {
+ int x=0, y=0; //Marine의 위치좌표 (x,y)
+ int hp = 60; //현재 체력
+ int weapon = 6; //공격력
+ int armor = 0; //방어력
+ void weaponUp() {
+ weapon++;
+ }
+ void armorUp() {
+ armor++;
+ }
+ void move(int x, int y) {
+ this.x = x;
+ this.y = y;
+
+ //weapon, armor, weaponUp, armorUp 입니다.
+ // 이유는 일단 모든 병사의 공격력과 방어력이 같아야 된다는 조건이 있기에 공격력과 방어력의 수치는 바뀌면 안되니깐 static을 써줘야 됩니다.
+ }
+ }
+ }
+}
diff --git a/src/jominsung/report6/Report6_1 b/src/jominsung/report6/Report6_1
new file mode 100644
index 0000000..afff8d8
--- /dev/null
+++ b/src/jominsung/report6/Report6_1
@@ -0,0 +1,10 @@
+// 6-8번 문제
+
+6-8. 다음 중 생성자에 대한 설명으로 옳지 않은 것은? (모두 고르시오)
+a. 모든 생성자의 이름은 클래스의 이름과 동일해야한다.
+b. 생성자는 객체를 생성하기 위한 것이다.
+c. 클래스에는 생성자가 반드시 하나 이상 있어야 한다.
+d. 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다.
+e. 생성자는 오버로딩 할 수 없다.
+
+정답 : b,e
\ No newline at end of file
diff --git a/src/jominsung/report6/Report6_2 b/src/jominsung/report6/Report6_2
new file mode 100644
index 0000000..4913eee
--- /dev/null
+++ b/src/jominsung/report6/Report6_2
@@ -0,0 +1,7 @@
+6-9. 다음 중 this에 대한 설명으로 맞지 않은 것은? (모두 고르시오)
+a. 객체 자신을 가리키는 참조변수이다.
+b. 클래스 내에서라면 어디서든 사용할 수 있다.
+c. 지역변수와 인스턴스변수를 구별할 때 사용한다.
+d. 클래스 메서드 내에서는 사용할 수 없다.
+
+정답 : b
diff --git a/src/jominsung/report6/Report6_3 b/src/jominsung/report6/Report6_3
new file mode 100644
index 0000000..c77aecd
--- /dev/null
+++ b/src/jominsung/report6/Report6_3
@@ -0,0 +1,7 @@
+6-10. 다음 중 오버로딩이 성립하기 위한 조건이 아닌 것은? (모두 고르시오)
+a. 메서드의 이름이 같아야 한다.
+b. 매개변수의 개수나 타입이 달라야 한다.
+c. 리턴타입이 달라야 한다.
+d. 매개변수의 이름이 달라야 한다.
+
+정답 : c,d
\ No newline at end of file
diff --git a/src/jominsung/report6/Report6_4 b/src/jominsung/report6/Report6_4
new file mode 100644
index 0000000..84df215
--- /dev/null
+++ b/src/jominsung/report6/Report6_4
@@ -0,0 +1,10 @@
+6-11. 다음 중 아래의 add메서드를 올바르게 오버로딩 한 것은? (모두 고르시오)
+> long add(int a, int b) { return a+b; }
+
+a. long add(int x, int y) { return x+y; }
+b. long add(long a, long b) { return a+b; }
+c. int add(byte a, byte b) { return a+b; }
+d. int add(long a, int b) { return (int)(a+b); }
+
+정답 : d
+앞에 long,int이게 달라서 매개변수라고 하시던가요? 이게 다르네요..
\ No newline at end of file
diff --git a/src/jominsung/report6/Report6_5 b/src/jominsung/report6/Report6_5
new file mode 100644
index 0000000..1e5fba4
--- /dev/null
+++ b/src/jominsung/report6/Report6_5
@@ -0,0 +1,8 @@
+6-12. 다음 중 초기화에 대한 설명으로 옳지 않은 것은? (모두 고르시오)
+a. 멤버변수는 자동 초기화되므로 초기화하지 않고도 값을 참고할 수 있다.
+b. 지역변수는 사용하기 전에 반드시 초기화해야 한다.
+c. 초기화 블럭보다 생성자가 먼저 수행된다.
+d. 명시적 초기화를 제일 우선적으로 고려해야 한다.
+e. 클래스변수보다 인스턴스변수가 먼저 초기화된다
+
+정답:c,e
\ No newline at end of file
diff --git a/src/jominsung/report6/Report6_6 b/src/jominsung/report6/Report6_6
new file mode 100644
index 0000000..de88c90
--- /dev/null
+++ b/src/jominsung/report6/Report6_6
@@ -0,0 +1,7 @@
+6-13. 다음 중 인스턴스변수의 초기화 순서가 올바른 것은?
+a. 기본값-명시적초기화-초기화블럭-생성자
+b. 기본값-명시적초기화-생성자-초기화블럭
+c. 기본값-초기화블럭-명시적초기화-생성자
+d. 기본값-초기화블럭-생성자-명시적초기화
+
+정답 : a
\ No newline at end of file
diff --git a/src/jominsung/report6/Report6_7 b/src/jominsung/report6/Report6_7
new file mode 100644
index 0000000..8526ede
--- /dev/null
+++ b/src/jominsung/report6/Report6_7
@@ -0,0 +1,8 @@
+6-14. 다음 중 지역변수에 대한 설명으로 옳지 않은 것은? (모두 고르시오)
+a. 자동 초기화되므로 별도의 초기화가 필요없다.
+b. 지역변수가 선언된 메서드가 종료되면 지역변수도 함께 소멸된다.
+c. 메서드의 매개변수로 선언된 변수도 지역변수이다.
+d. 클래스변수나 인스턴스변수보다 메모리 부담이 적다.
+e. 힙(heap)영역에 생성되며 가비지 컬렉터에 의해 소멸된다
+
+정답 : a,e
\ No newline at end of file
diff --git a/src/jominsung/report6/Report6_8 b/src/jominsung/report6/Report6_8
new file mode 100644
index 0000000..26f126a
--- /dev/null
+++ b/src/jominsung/report6/Report6_8
@@ -0,0 +1,16 @@
+
+6-15. 호출스택이 다음과 같은 상황일 때 옳지 않은 설명은? (모두 고르시오)
+
+println
+method2
+method1
+main
+
+a. 제일 먼저 호출스택에 저장된 것은 main메서드이다.
+b. println메서드를 제외한 나머지 메서드들은 모두 종료된 상태이다.
+c. method2메서드를 호출한 것은 main메서드이다.
+d. println메서드가 종료되면 method1메서드가 수행을 재개한다.
+e. main-method2-method1-println의 순서로 호출되었다.
+f. 현재 실행중인 메서드는 println뿐이다.
+
+정답 : b
diff --git a/src/jominsung/report6/Report6_9.java b/src/jominsung/report6/Report6_9.java
new file mode 100644
index 0000000..5170773
--- /dev/null
+++ b/src/jominsung/report6/Report6_9.java
@@ -0,0 +1,24 @@
+package jominsung.report6;
+
+public class Report6_9 {
+ public static void main(String[] args) {
+
+ }
+}
+//6-16. 다음 코드의 실행 결과를 예측하여 적어주세요.
+class Exercise6_16 {
+ public static void change(String str) {
+ str += "456";
+ }
+
+ public static void main(String[] args) {
+ String str = "ABC123";
+ System.out.println(str);
+ change(str);
+ System.out.println("After change:" + str);
+ }
+}
+
+/*//정답 : ABC123
+After change:ABC123
+*/
diff --git a/src/jominsung/report7/Report7_1.java b/src/jominsung/report7/Report7_1.java
new file mode 100644
index 0000000..841957e
--- /dev/null
+++ b/src/jominsung/report7/Report7_1.java
@@ -0,0 +1,43 @@
+package jominsung.report7;
+// 6-17번 문제
+public class Report7_1 {
+ public static void main(String[] args) {
+ /* int[] original = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
+ System.out.println(java.util.Arrays.toString(original));
+
+// int[] result = shuffle(original);
+// System.out.println(java.util.Arrays.toString(result));*/
+ }
+}
+
+/*
+6-17. 다음과 같이 정의된 메서드를 작성하고 테스트하세요.
+ 메서드명 : shuffle
+ 기능
+ 주어진 배열에 담긴 값의 위치를 바꾸는 작업을 반복하여 뒤섞이게 한다.
+ 처리한 배열을 반환한다.
+ 반환타입 : int[]
+ 매개변수 : int[] arr - 정수값이 담긴 배열
+ */
+class Exercise6_17 {
+
+ /*shuffle 메서드를 작성하세요. */
+ static int[] shuffle(int[] arr){
+ for(int i = 0; i < arr.length; i++) {
+ int n = (int)(Math.random()*arr.length);
+
+ int tmp = arr[n];
+ arr[n] = arr[i];
+ arr[i] = tmp;
+ }
+ return arr;
+ }
+
+ public static void main(String[] args) {
+ int[] original = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
+ System.out.println(java.util.Arrays.toString(original));
+
+ int[] result = shuffle(original);
+ System.out.println(java.util.Arrays.toString(result));
+ }
+}
diff --git a/src/jominsung/report7/Report7_2.java b/src/jominsung/report7/Report7_2.java
new file mode 100644
index 0000000..f0be60b
--- /dev/null
+++ b/src/jominsung/report7/Report7_2.java
@@ -0,0 +1,32 @@
+package jominsung.report7;
+
+public class Report7_2 {
+ public static void main(String[] args) {
+
+ }
+}
+class Exercise6_18 {
+ static boolean isNumber(String str){
+ if(str == null || str.equals(""))
+ return false;
+
+ for (int i = 0; i < str.length(); i++){
+ char ch = str.charAt(i);
+
+ if(ch < '0' || ch > '9'){
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+
+ public static void main(String[] args) {
+ String str = "123";
+ System.out.println(str + " 는 숫자입니까? " + isNumber(str));
+ str = "1234o";
+ System.out.println(str + " 는 숫자입니까? " + isNumber(str));
+ }
+}
+//예상 결과 : 123는 숫자입니까? true, 1234o는 숫자입니까? false
\ No newline at end of file
diff --git a/src/jominsung/report7/Report7_3.java b/src/jominsung/report7/Report7_3.java
new file mode 100644
index 0000000..339efc9
--- /dev/null
+++ b/src/jominsung/report7/Report7_3.java
@@ -0,0 +1,69 @@
+package jominsung.report7;
+
+public class Report7_3 {
+ public static void main(String[] args) {
+
+ }
+}
+
+//6-19. Tv클래스를 주어진 로직대로 완성하세요. 완성한 후에 실행해서 주어진 실행결과와 일치하는지 확인하세요.
+
+class MyTv {
+ boolean isPowerOn;
+ int channel;
+ int volume;
+ final int MAX_VOLUME = 100;
+ final int MIN_VOLUME = 0;
+ final int MAX_CHANNEL = 100;
+ final int MIN_CHANNEL = 1;
+ void turnOnOff() {
+ isPowerOn = !isPowerOn;
+ // (1) isPowerOn의 값이 true면 false로, false면 true로 바꾼다.
+ }
+ void volumeUp() {
+ if(volume < MAX_VOLUME)
+ volume++;
+ // (2) volume의 값이 MAX_VOLUME보다 작을 때만 값을 1 증가시킨다.
+ }
+ void volumeDown() {
+ if(volume > MIN_VOLUME)
+ volume--;
+ // (3) volume의 값이 MIN_VOLUME보다 클 때만 값을 1 감소시킨다.
+ }
+ void channelUp() {
+ if (channel == MAX_CHANNEL){
+ channel = MIN_CHANNEL;
+ }else {
+ channel++;
+ }
+ // (4) channel의 값을 1 증가시킨다.
+ // 만일 channel이 MAX_CHANNEL이면 , channel의 값을 MIN_CHANNEL로 바꾼다.
+ }
+ void channelDown() {
+ if (channel == MIN_CHANNEL){
+ channel = MAX_CHANNEL;
+ }else {
+ channel--;
+ }
+ // (5) channel의 값을 1 감소시킨다 .
+ // 만일 channel이 MIN_CHANNEL이면, channel의 값을 MAX_CHANNEL로 바꾼다.
+ }
+}
+
+class Exercise6_19 {
+ public static void main(String args[]) {
+ MyTv t = new MyTv();
+ t.channel = 100;
+ t.volume = 0;
+ System.out.println("CH:" + t.channel + ", VOL:" + t.volume);
+ t.channelDown();
+ t.volumeDown();
+ System.out.println("CH:" + t.channel + ", VOL:" + t.volume);
+ t.volume = 100;
+ t.channelUp();
+ t.volumeUp();
+ System.out.println("CH:" + t.channel + ", VOL:" + t.volume);
+ }
+}
+
+//예상 결과 : CH: 100, VOL: 0 / CH: 99, VOL: 0 / CH: 100, VOL: 100
diff --git a/src/jominsung/report7/Report7_4.java b/src/jominsung/report7/Report7_4.java
new file mode 100644
index 0000000..8f4e669
--- /dev/null
+++ b/src/jominsung/report7/Report7_4.java
@@ -0,0 +1,40 @@
+package jominsung.report7;
+
+public class Report7_4 {
+ public static void main(String[] args) {
+
+ }
+}
+/*
+메서드명 : max
+ 기능
+ 주어진 int형 배열의 값 중에서 제일 큰 값을 반환한다.
+ 만일 주어진 배열이 null이거나 크기가 0인 경우, -999999를 반환한다.
+ 반환타입 : int
+ 매개변수 : int[] arr - 최대값을 구할 배열
+ */
+class Exercise6_20 {
+
+ static int max(int[] arr){
+ if(arr == null || arr.length == 0)
+ return -999999;
+
+ int max = arr[0];
+
+ for (int i = 1; i < arr.length; i++){
+ if (max < arr[i])
+ max = arr[i];
+ }
+ return max;
+ }
+
+ public static void main(String[] args) {
+ int[] data = {3,2,9,4,7};
+ System.out.println(java.util.Arrays.toString(data));
+ System.out.println("최대값 :"+max(data));
+ System.out.println("최대값 :"+max(null));
+ System.out.println("최대값 :"+max(new int[]{})); // 크기가 0인 배열 }
+ }
+}
+
+//예상 결과 : 최대값: 9 / 최대값: -99999 최대값: -999999
\ No newline at end of file
diff --git a/src/jominsung/report7/Report7_5.java b/src/jominsung/report7/Report7_5.java
new file mode 100644
index 0000000..cd65639
--- /dev/null
+++ b/src/jominsung/report7/Report7_5.java
@@ -0,0 +1,28 @@
+package jominsung.report7;
+
+public class Report7_5 {
+ public static void main(String[] args) {
+
+ }
+}
+/*
+6-21. 다음과 같이 정의된 메서드를 작성하고 테스트하시오.
+ 메서드명: abs
+ 기능 : 주어진 값의 절대값을 반환한다.
+ 반환타입 : int
+ 매개변수 : int value
+ */
+
+class Exercise6_21 {
+ static int abs(int value){
+ return value < 0 ? -value : value > 0 ? value : 0;
+ }
+
+ public static void main(String[] args) {
+ int value = 5;
+ System.out.println(value + "의 절대값 :" + abs(value));
+ value = -10;
+ System.out.println(value + "의 절대값 :" + abs(value));
+ }
+}
+//예상 결과 : 5의 절대값 : 5 / -10의 절대값 : 10
\ No newline at end of file
diff --git a/src/studentenglishname/report1/Report1_1 b/src/studentenglishname/report1/Report1_1
deleted file mode 100644
index 3f37658..0000000
--- a/src/studentenglishname/report1/Report1_1
+++ /dev/null
@@ -1,3 +0,0 @@
-2-4번 문제
-
-정답 :
diff --git a/src/studentenglishname/report1/Report1_2 b/src/studentenglishname/report1/Report1_2
deleted file mode 100644
index f4e5811..0000000
--- a/src/studentenglishname/report1/Report1_2
+++ /dev/null
@@ -1,3 +0,0 @@
-2-7번 번 문제
-
-정답 :
\ No newline at end of file
diff --git a/src/studentenglishname/report1/Report1_3.java b/src/studentenglishname/report1/Report1_3.java
deleted file mode 100644
index 5b75b9c..0000000
--- a/src/studentenglishname/report1/Report1_3.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package studentenglishname.report1;
-// 2-8 번 문제 <- 이렇게 문제 번호 작성 필수
-public class Report1_3 {
- public static void main(String[] args) {
- // 정답 작성
- // Ex)
- AddClass addClass = new AddClass();
- addClass.test();
- }
-}
-
-// 필요하다면 클래스 추가
-class AddClass {
- void test() {
- System.out.println("AddClass.test");
- }
-}
diff --git a/src/studentenglishname/report2/Report2_2.java b/src/studentenglishname/report2/Report2_2.java
deleted file mode 100644
index 71dbb48..0000000
--- a/src/studentenglishname/report2/Report2_2.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package studentenglishname.report2;
-// 3-2번 문제
-public class Report2_2 {
- public static void main(String[] args) {
-
- }
-}