From 17d7c145aa5379f2b551fc206292eff721ca867e Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 18 Jan 2023 16:56:59 +0900 Subject: [PATCH 01/10] =?UTF-8?q?1=EC=9D=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/choiwonbin/report1/Report1_1 | 9 ++++++-- src/choiwonbin/report1/Report1_2 | 17 ++++++++++++-- src/choiwonbin/report1/Report1_3.java | 32 ++++++++++++++++----------- src/choiwonbin/report2/Report2_1 | 14 ++++++++++++ src/choiwonbin/report2/Report2_2 | 31 ++++++++++++++++++++++++++ src/choiwonbin/report2/Report2_2.java | 13 ++++++----- src/choiwonbin/report2/Report2_3.java | 16 ++++++++++++++ src/choiwonbin/report2/Report2_4.java | 16 ++++++++++++++ 8 files changed, 126 insertions(+), 22 deletions(-) create mode 100644 src/choiwonbin/report2/Report2_1 create mode 100644 src/choiwonbin/report2/Report2_2 create mode 100644 src/choiwonbin/report2/Report2_3.java create mode 100644 src/choiwonbin/report2/Report2_4.java diff --git a/src/choiwonbin/report1/Report1_1 b/src/choiwonbin/report1/Report1_1 index 3f37658..3bf93ba 100644 --- a/src/choiwonbin/report1/Report1_1 +++ b/src/choiwonbin/report1/Report1_1 @@ -1,3 +1,8 @@ -2-4번 문제 +//2-4. 다음 중 변수를 잘못 초기화 한 것은? +byte b = 256; +char c = ''; +char answer = 'no'; +float f = 3.14; +double d = 1.4e3f; -정답 : +정답 : b, c, answer, f \ No newline at end of file diff --git a/src/choiwonbin/report1/Report1_2 b/src/choiwonbin/report1/Report1_2 index f4e5811..b329ba7 100644 --- a/src/choiwonbin/report1/Report1_2 +++ b/src/choiwonbin/report1/Report1_2 @@ -1,3 +1,16 @@ -2-7번 번 문제 +//2-7. 다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, '오류' 라고 적으세요. +System.out.println("1" + "2"); +System.out.println(true+""); +System.out.println('A' + 'B'); +System.out.println('1' + 2); +System.out.println('1' + '2'); +System.out.println('J' +"ava"); +System.out.println(true + null); -정답 : \ No newline at end of file +정답 : 12 + true + 131 + 51 + 99 + Java + 오류 \ No newline at end of file diff --git a/src/choiwonbin/report1/Report1_3.java b/src/choiwonbin/report1/Report1_3.java index a474553..7a71557 100644 --- a/src/choiwonbin/report1/Report1_3.java +++ b/src/choiwonbin/report1/Report1_3.java @@ -1,17 +1,23 @@ package choiwonbin.report1; -// 2-8 번 문제 <- 이렇게 문제 번호 작성 필수 -public class Report1_3 { - public static void main(String[] args) { - // 정답 작성 - // Ex) - AddClass addClass = new AddClass(); - addClass.test(); - } -} +//2-8. 아래는 변수 x, y, z의 값을 서로 바꾸는 예제이다. 결과와 같이 출력되도록 코드를 넣으세요. +//예상 결과 : x=2, y=3, z=1 + +class Exercise2_8 { + public static void main(String[] args){ + + int x = 1; + int y = 2; + int z = 3; + /* + 알맞은 코드를 넣어 완성하세요. + */ + int temp = x; + x = y; + y = z; + z = temp; -// 필요하다면 클래스 추가 -class AddClass { - void test() { - System.out.println("AddClass.test"); + System.out.println("x="+x); + System.out.println("y="+y); + System.out.println("z="+z); } } diff --git a/src/choiwonbin/report2/Report2_1 b/src/choiwonbin/report2/Report2_1 new file mode 100644 index 0000000..1e1d683 --- /dev/null +++ b/src/choiwonbin/report2/Report2_1 @@ -0,0 +1,14 @@ +//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; + +정답 : i = (int)ch; \ No newline at end of file diff --git a/src/choiwonbin/report2/Report2_2 b/src/choiwonbin/report2/Report2_2 new file mode 100644 index 0000000..aabc1d2 --- /dev/null +++ b/src/choiwonbin/report2/Report2_2 @@ -0,0 +1,31 @@ +//3-2. 다음 연산의 결과와 그 이유를 적으세요. +class Exercise3_2{ + public static void main(String[] args){ + int x = 2; + int y = 5; + char c = 'A'; // 'A'의 문자코드는 65 + + System.out.println(y >= 5 || x < 0 && x > 2); + System.out.println(y += 10 - x++); + System.out.println(x += 2); + System.out.println(!('A' <= c && c <= 'Z')); + System.out.println('C' - c); + System.out.println('5' - '0'); + System.out.println(c + 1); + System.out.println(++c); + System.out.println(c++); + System.out.println(c); + } +} + +정답 : 1. true / 비교연산자는 &&가 ||보다 우위이고 y > 5가 참이므로 || 연산자에 의해 참입니다. + 2. 13 / value++는 참조 이후에 처리되기 때문에 y += 10 - 2 => y = 5 + 10 - 2 => y = 13 + 3. 4 / x는 수식에서 사용되어서 증감연산이 작용하지 않아서 x = 2이고 2 + 2 = 4 + 4. false / 'A' <= c = true, c <= 'Z' = true 둘다 모두 참이기에 ('A' <= c && c <= 'Z')는 참이고 이것의 부정은 false + 5. 2 / 'C'의 문자코드는 67이고 변수 c 즉 'A'의 문자코드는 65이므로 67 - 65 = 2 + 6. 5 / '5'는 5 '0'은 0이므로 5-0 = 5 + 7. 66 / 'A' 의 코드는 65이고 65+1=66 + 8. 'B' / ++c는 증가 후 대입 + 9. 'B' / c는 이전에 'B'가 되었고 c++는 대입후 출력 + 10. 'C' / 이전에 증가되었기에 'C' + diff --git a/src/choiwonbin/report2/Report2_2.java b/src/choiwonbin/report2/Report2_2.java index e2f2bfc..fa99b7d 100644 --- a/src/choiwonbin/report2/Report2_2.java +++ b/src/choiwonbin/report2/Report2_2.java @@ -1,7 +1,10 @@ package choiwonbin.report2; -// 3-2번 문제 -public class Report2_2 { - public static void main(String[] args) { - +//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다. +//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. +//알맞은 코드를 넣으시오. +class Exercise3_3 { + public static void main(String[] args){ + int num = 456; + System.out.println(num/100*100); } -} +} \ No newline at end of file diff --git a/src/choiwonbin/report2/Report2_3.java b/src/choiwonbin/report2/Report2_3.java new file mode 100644 index 0000000..29e8195 --- /dev/null +++ b/src/choiwonbin/report2/Report2_3.java @@ -0,0 +1,16 @@ +package choiwonbin.report2; + +//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. +//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. +//알맞은 코드를 넣으시오. + +//예상 결과 -> 필요한 바구니의 수 :13 +class Exercise3_4 { + public static void main(String[] args){ + int numOfApples = 123; // 사과의 개수 + int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수) + int numOfBucket = (numOfApples/sizeOfBucket + ((numOfApples%sizeOfBucket) > 0 ? 1 : 0)); // 모든 사과를 담는데 필요한 바구니의 수 + + System.out.println("필요한 바구니의 수 :"+numOfBucket); + } +} diff --git a/src/choiwonbin/report2/Report2_4.java b/src/choiwonbin/report2/Report2_4.java new file mode 100644 index 0000000..cc5c333 --- /dev/null +++ b/src/choiwonbin/report2/Report2_4.java @@ -0,0 +1,16 @@ +package choiwonbin.report2; + +//3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다. +//변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오. +// 단, 변환값은 소수점 셋째자리에서 반올림하며, Math.round() 함수를 사용하지 않고 처리할 것! + +//예상 결과 : Fahrenheit:100, Celcius:37.78 +class Exercise3_6 { + public static void main(String[] args){ + int fahrenheit = 100; + float celcius = (int)((5f/9f*(fahrenheit-32))*100 + 0.5f)/100f; + + System.out.println("Fahrenheit:"+fahrenheit); + System.out.println("Celcius:"+celcius); + } +} \ No newline at end of file From f987bc8ae82e8ee72725e62e6a5d9018e29a50c5 Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 18 Jan 2023 18:07:31 +0900 Subject: [PATCH 02/10] =?UTF-8?q?1=EC=9D=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/choiwonbin/report2/Report2_2.java | 10 ---------- src/choiwonbin/report2/Report2_3.java | 18 ++++++------------ src/choiwonbin/report2/Report2_4.java | 20 ++++++++++---------- src/choiwonbin/report2/Report2_5.java | 12 ++++++++++++ src/choiwonbin/report2/Report2_6.java | 16 ++++++++++++++++ 5 files changed, 44 insertions(+), 32 deletions(-) delete mode 100644 src/choiwonbin/report2/Report2_2.java create mode 100644 src/choiwonbin/report2/Report2_5.java create mode 100644 src/choiwonbin/report2/Report2_6.java diff --git a/src/choiwonbin/report2/Report2_2.java b/src/choiwonbin/report2/Report2_2.java deleted file mode 100644 index fa99b7d..0000000 --- a/src/choiwonbin/report2/Report2_2.java +++ /dev/null @@ -1,10 +0,0 @@ -package choiwonbin.report2; -//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다. -//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. -//알맞은 코드를 넣으시오. -class Exercise3_3 { - public static void main(String[] args){ - int num = 456; - System.out.println(num/100*100); - } -} \ No newline at end of file diff --git a/src/choiwonbin/report2/Report2_3.java b/src/choiwonbin/report2/Report2_3.java index 29e8195..fa99b7d 100644 --- a/src/choiwonbin/report2/Report2_3.java +++ b/src/choiwonbin/report2/Report2_3.java @@ -1,16 +1,10 @@ package choiwonbin.report2; - -//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. -//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. +//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다. +//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. //알맞은 코드를 넣으시오. - -//예상 결과 -> 필요한 바구니의 수 :13 -class Exercise3_4 { +class Exercise3_3 { public static void main(String[] args){ - int numOfApples = 123; // 사과의 개수 - int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수) - int numOfBucket = (numOfApples/sizeOfBucket + ((numOfApples%sizeOfBucket) > 0 ? 1 : 0)); // 모든 사과를 담는데 필요한 바구니의 수 - - System.out.println("필요한 바구니의 수 :"+numOfBucket); + int num = 456; + System.out.println(num/100*100); } -} +} \ No newline at end of file diff --git a/src/choiwonbin/report2/Report2_4.java b/src/choiwonbin/report2/Report2_4.java index cc5c333..29e8195 100644 --- a/src/choiwonbin/report2/Report2_4.java +++ b/src/choiwonbin/report2/Report2_4.java @@ -1,16 +1,16 @@ package choiwonbin.report2; -//3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다. -//변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오. -// 단, 변환값은 소수점 셋째자리에서 반올림하며, Math.round() 함수를 사용하지 않고 처리할 것! +//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. +//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. +//알맞은 코드를 넣으시오. -//예상 결과 : Fahrenheit:100, Celcius:37.78 -class Exercise3_6 { +//예상 결과 -> 필요한 바구니의 수 :13 +class Exercise3_4 { public static void main(String[] args){ - int fahrenheit = 100; - float celcius = (int)((5f/9f*(fahrenheit-32))*100 + 0.5f)/100f; + int numOfApples = 123; // 사과의 개수 + int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수) + int numOfBucket = (numOfApples/sizeOfBucket + ((numOfApples%sizeOfBucket) > 0 ? 1 : 0)); // 모든 사과를 담는데 필요한 바구니의 수 - System.out.println("Fahrenheit:"+fahrenheit); - System.out.println("Celcius:"+celcius); + System.out.println("필요한 바구니의 수 :"+numOfBucket); } -} \ No newline at end of file +} diff --git a/src/choiwonbin/report2/Report2_5.java b/src/choiwonbin/report2/Report2_5.java new file mode 100644 index 0000000..d21ac6c --- /dev/null +++ b/src/choiwonbin/report2/Report2_5.java @@ -0,0 +1,12 @@ +package choiwonbin.report2; + +//3-5. 아래는 변수 num의 값에 따라 '양수', '음수', '0'을 출력하는 코드이다. +//삼항연산자를 이용해서 빈칸에 알맞은 코드를 넣으시오. +//Hint : 삼항 연산자를 두 번 사용할 것! +class Exercise3_5{ + public static void main(String[] args){ + int num = 10; + System.out.println(num == 0 ? 0 : (num > 0 ? "양수" : "음수")); + } +} +//예상 결과 : 양수 \ No newline at end of file diff --git a/src/choiwonbin/report2/Report2_6.java b/src/choiwonbin/report2/Report2_6.java new file mode 100644 index 0000000..cc5c333 --- /dev/null +++ b/src/choiwonbin/report2/Report2_6.java @@ -0,0 +1,16 @@ +package choiwonbin.report2; + +//3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다. +//변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오. +// 단, 변환값은 소수점 셋째자리에서 반올림하며, Math.round() 함수를 사용하지 않고 처리할 것! + +//예상 결과 : Fahrenheit:100, Celcius:37.78 +class Exercise3_6 { + public static void main(String[] args){ + int fahrenheit = 100; + float celcius = (int)((5f/9f*(fahrenheit-32))*100 + 0.5f)/100f; + + System.out.println("Fahrenheit:"+fahrenheit); + System.out.println("Celcius:"+celcius); + } +} \ No newline at end of file From cd345864a0d67eb2d7357aaf798b64b6146e1f09 Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 18 Jan 2023 19:16:03 +0900 Subject: [PATCH 03/10] =?UTF-8?q?1=EC=9D=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=20=EC=A0=9C=EC=B6=9C=20(=ED=8C=A8=ED=82=A4=EC=A7=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/kwonseongmin/report1/Report1_1 | 8 +++++ src/kwonseongmin/report1/Report1_2 | 16 ++++++++++ src/kwonseongmin/report1/Report1_3.java | 23 ++++++++++++++ src/kwonseongmin/report1/report1/Report1_1 | 8 +++++ src/kwonseongmin/report1/report1/Report1_2 | 16 ++++++++++ .../report1/report1/Report1_3.java | 23 ++++++++++++++ src/kwonseongmin/report1/report2/Report2_1 | 14 +++++++++ src/kwonseongmin/report1/report2/Report2_2 | 31 +++++++++++++++++++ .../report1/report2/Report2_3.java | 10 ++++++ .../report1/report2/Report2_4.java | 16 ++++++++++ .../report1/report2/Report2_5.java | 12 +++++++ .../report1/report2/Report2_6.java | 16 ++++++++++ src/studentenglishname/report1/Report1_1 | 3 -- src/studentenglishname/report1/Report1_2 | 3 -- src/studentenglishname/report1/Report1_3.java | 17 ---------- src/studentenglishname/report2/Report2_2.java | 7 ----- 16 files changed, 193 insertions(+), 30 deletions(-) create mode 100644 src/kwonseongmin/report1/Report1_1 create mode 100644 src/kwonseongmin/report1/Report1_2 create mode 100644 src/kwonseongmin/report1/Report1_3.java create mode 100644 src/kwonseongmin/report1/report1/Report1_1 create mode 100644 src/kwonseongmin/report1/report1/Report1_2 create mode 100644 src/kwonseongmin/report1/report1/Report1_3.java create mode 100644 src/kwonseongmin/report1/report2/Report2_1 create mode 100644 src/kwonseongmin/report1/report2/Report2_2 create mode 100644 src/kwonseongmin/report1/report2/Report2_3.java create mode 100644 src/kwonseongmin/report1/report2/Report2_4.java create mode 100644 src/kwonseongmin/report1/report2/Report2_5.java create mode 100644 src/kwonseongmin/report1/report2/Report2_6.java delete mode 100644 src/studentenglishname/report1/Report1_1 delete mode 100644 src/studentenglishname/report1/Report1_2 delete mode 100644 src/studentenglishname/report1/Report1_3.java delete mode 100644 src/studentenglishname/report2/Report2_2.java diff --git a/src/kwonseongmin/report1/Report1_1 b/src/kwonseongmin/report1/Report1_1 new file mode 100644 index 0000000..3bf93ba --- /dev/null +++ b/src/kwonseongmin/report1/Report1_1 @@ -0,0 +1,8 @@ +//2-4. 다음 중 변수를 잘못 초기화 한 것은? +byte b = 256; +char c = ''; +char answer = 'no'; +float f = 3.14; +double d = 1.4e3f; + +정답 : b, c, answer, f \ No newline at end of file diff --git a/src/kwonseongmin/report1/Report1_2 b/src/kwonseongmin/report1/Report1_2 new file mode 100644 index 0000000..b329ba7 --- /dev/null +++ b/src/kwonseongmin/report1/Report1_2 @@ -0,0 +1,16 @@ +//2-7. 다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, '오류' 라고 적으세요. +System.out.println("1" + "2"); +System.out.println(true+""); +System.out.println('A' + 'B'); +System.out.println('1' + 2); +System.out.println('1' + '2'); +System.out.println('J' +"ava"); +System.out.println(true + null); + +정답 : 12 + true + 131 + 51 + 99 + Java + 오류 \ No newline at end of file diff --git a/src/kwonseongmin/report1/Report1_3.java b/src/kwonseongmin/report1/Report1_3.java new file mode 100644 index 0000000..dc40bc5 --- /dev/null +++ b/src/kwonseongmin/report1/Report1_3.java @@ -0,0 +1,23 @@ +package kwonseongmin.report1; +//2-8. 아래는 변수 x, y, z의 값을 서로 바꾸는 예제이다. 결과와 같이 출력되도록 코드를 넣으세요. +//예상 결과 : x=2, y=3, z=1 + +class Exercise2_8 { + public static void main(String[] args){ + + int x = 1; + int y = 2; + int z = 3; + /* + 알맞은 코드를 넣어 완성하세요. + */ + int temp = x; + x = y; + y = z; + z = temp; + + System.out.println("x="+x); + System.out.println("y="+y); + System.out.println("z="+z); + } +} diff --git a/src/kwonseongmin/report1/report1/Report1_1 b/src/kwonseongmin/report1/report1/Report1_1 new file mode 100644 index 0000000..3bf93ba --- /dev/null +++ b/src/kwonseongmin/report1/report1/Report1_1 @@ -0,0 +1,8 @@ +//2-4. 다음 중 변수를 잘못 초기화 한 것은? +byte b = 256; +char c = ''; +char answer = 'no'; +float f = 3.14; +double d = 1.4e3f; + +정답 : b, c, answer, f \ No newline at end of file diff --git a/src/kwonseongmin/report1/report1/Report1_2 b/src/kwonseongmin/report1/report1/Report1_2 new file mode 100644 index 0000000..b329ba7 --- /dev/null +++ b/src/kwonseongmin/report1/report1/Report1_2 @@ -0,0 +1,16 @@ +//2-7. 다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, '오류' 라고 적으세요. +System.out.println("1" + "2"); +System.out.println(true+""); +System.out.println('A' + 'B'); +System.out.println('1' + 2); +System.out.println('1' + '2'); +System.out.println('J' +"ava"); +System.out.println(true + null); + +정답 : 12 + true + 131 + 51 + 99 + Java + 오류 \ No newline at end of file diff --git a/src/kwonseongmin/report1/report1/Report1_3.java b/src/kwonseongmin/report1/report1/Report1_3.java new file mode 100644 index 0000000..487886a --- /dev/null +++ b/src/kwonseongmin/report1/report1/Report1_3.java @@ -0,0 +1,23 @@ +package kwonseongmin.report1.report1; +//2-8. 아래는 변수 x, y, z의 값을 서로 바꾸는 예제이다. 결과와 같이 출력되도록 코드를 넣으세요. +//예상 결과 : x=2, y=3, z=1 + +class Exercise2_8 { + public static void main(String[] args){ + + int x = 1; + int y = 2; + int z = 3; + /* + 알맞은 코드를 넣어 완성하세요. + */ + int temp = x; + x = y; + y = z; + z = temp; + + System.out.println("x="+x); + System.out.println("y="+y); + System.out.println("z="+z); + } +} diff --git a/src/kwonseongmin/report1/report2/Report2_1 b/src/kwonseongmin/report1/report2/Report2_1 new file mode 100644 index 0000000..1e1d683 --- /dev/null +++ b/src/kwonseongmin/report1/report2/Report2_1 @@ -0,0 +1,14 @@ +//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; + +정답 : i = (int)ch; \ No newline at end of file diff --git a/src/kwonseongmin/report1/report2/Report2_2 b/src/kwonseongmin/report1/report2/Report2_2 new file mode 100644 index 0000000..aabc1d2 --- /dev/null +++ b/src/kwonseongmin/report1/report2/Report2_2 @@ -0,0 +1,31 @@ +//3-2. 다음 연산의 결과와 그 이유를 적으세요. +class Exercise3_2{ + public static void main(String[] args){ + int x = 2; + int y = 5; + char c = 'A'; // 'A'의 문자코드는 65 + + System.out.println(y >= 5 || x < 0 && x > 2); + System.out.println(y += 10 - x++); + System.out.println(x += 2); + System.out.println(!('A' <= c && c <= 'Z')); + System.out.println('C' - c); + System.out.println('5' - '0'); + System.out.println(c + 1); + System.out.println(++c); + System.out.println(c++); + System.out.println(c); + } +} + +정답 : 1. true / 비교연산자는 &&가 ||보다 우위이고 y > 5가 참이므로 || 연산자에 의해 참입니다. + 2. 13 / value++는 참조 이후에 처리되기 때문에 y += 10 - 2 => y = 5 + 10 - 2 => y = 13 + 3. 4 / x는 수식에서 사용되어서 증감연산이 작용하지 않아서 x = 2이고 2 + 2 = 4 + 4. false / 'A' <= c = true, c <= 'Z' = true 둘다 모두 참이기에 ('A' <= c && c <= 'Z')는 참이고 이것의 부정은 false + 5. 2 / 'C'의 문자코드는 67이고 변수 c 즉 'A'의 문자코드는 65이므로 67 - 65 = 2 + 6. 5 / '5'는 5 '0'은 0이므로 5-0 = 5 + 7. 66 / 'A' 의 코드는 65이고 65+1=66 + 8. 'B' / ++c는 증가 후 대입 + 9. 'B' / c는 이전에 'B'가 되었고 c++는 대입후 출력 + 10. 'C' / 이전에 증가되었기에 'C' + diff --git a/src/kwonseongmin/report1/report2/Report2_3.java b/src/kwonseongmin/report1/report2/Report2_3.java new file mode 100644 index 0000000..01d3bde --- /dev/null +++ b/src/kwonseongmin/report1/report2/Report2_3.java @@ -0,0 +1,10 @@ +package kwonseongmin.report1.report2; +//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다. +//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. +//알맞은 코드를 넣으시오. +class Exercise3_3 { + public static void main(String[] args){ + int num = 456; + System.out.println(num/100*100); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report1/report2/Report2_4.java b/src/kwonseongmin/report1/report2/Report2_4.java new file mode 100644 index 0000000..e092779 --- /dev/null +++ b/src/kwonseongmin/report1/report2/Report2_4.java @@ -0,0 +1,16 @@ +package kwonseongmin.report1.report2; + +//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. +//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. +//알맞은 코드를 넣으시오. + +//예상 결과 -> 필요한 바구니의 수 :13 +class Exercise3_4 { + public static void main(String[] args){ + int numOfApples = 123; // 사과의 개수 + int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수) + int numOfBucket = (numOfApples/sizeOfBucket + ((numOfApples%sizeOfBucket) > 0 ? 1 : 0)); // 모든 사과를 담는데 필요한 바구니의 수 + + System.out.println("필요한 바구니의 수 :"+numOfBucket); + } +} diff --git a/src/kwonseongmin/report1/report2/Report2_5.java b/src/kwonseongmin/report1/report2/Report2_5.java new file mode 100644 index 0000000..ab65523 --- /dev/null +++ b/src/kwonseongmin/report1/report2/Report2_5.java @@ -0,0 +1,12 @@ +package kwonseongmin.report1.report2; + +//3-5. 아래는 변수 num의 값에 따라 '양수', '음수', '0'을 출력하는 코드이다. +//삼항연산자를 이용해서 빈칸에 알맞은 코드를 넣으시오. +//Hint : 삼항 연산자를 두 번 사용할 것! +class Exercise3_5{ + public static void main(String[] args){ + int num = 10; + System.out.println(num == 0 ? 0 : (num > 0 ? "양수" : "음수")); + } +} +//예상 결과 : 양수 \ No newline at end of file diff --git a/src/kwonseongmin/report1/report2/Report2_6.java b/src/kwonseongmin/report1/report2/Report2_6.java new file mode 100644 index 0000000..c65070f --- /dev/null +++ b/src/kwonseongmin/report1/report2/Report2_6.java @@ -0,0 +1,16 @@ +package kwonseongmin.report1.report2; + +//3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다. +//변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오. +// 단, 변환값은 소수점 셋째자리에서 반올림하며, Math.round() 함수를 사용하지 않고 처리할 것! + +//예상 결과 : Fahrenheit:100, Celcius:37.78 +class Exercise3_6 { + public static void main(String[] args){ + int fahrenheit = 100; + float celcius = (int)((5f/9f*(fahrenheit-32))*100 + 0.5f)/100f; + + System.out.println("Fahrenheit:"+fahrenheit); + System.out.println("Celcius:"+celcius); + } +} \ 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) { - - } -} From f98464bd6b8b1cbc34b57831e20377b3e65d996c Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 18 Jan 2023 19:24:48 +0900 Subject: [PATCH 04/10] =?UTF-8?q?1=EC=9D=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=20=EC=A0=9C=EC=B6=9C=20(=ED=8C=A8=ED=82=A4=EC=A7=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/kwonseongmin/report1/report1/Report1_1 | 8 ------- src/kwonseongmin/report1/report1/Report1_2 | 16 ------------- .../report1/report1/Report1_3.java | 23 ------------------- .../{report1 => }/report2/Report2_1 | 0 .../{report1 => }/report2/Report2_2 | 0 .../{report1 => }/report2/Report2_3.java | 2 +- .../{report1 => }/report2/Report2_4.java | 2 +- .../{report1 => }/report2/Report2_5.java | 2 +- .../{report1 => }/report2/Report2_6.java | 2 +- 9 files changed, 4 insertions(+), 51 deletions(-) delete mode 100644 src/kwonseongmin/report1/report1/Report1_1 delete mode 100644 src/kwonseongmin/report1/report1/Report1_2 delete mode 100644 src/kwonseongmin/report1/report1/Report1_3.java rename src/kwonseongmin/{report1 => }/report2/Report2_1 (100%) rename src/kwonseongmin/{report1 => }/report2/Report2_2 (100%) rename src/kwonseongmin/{report1 => }/report2/Report2_3.java (90%) rename src/kwonseongmin/{report1 => }/report2/Report2_4.java (95%) rename src/kwonseongmin/{report1 => }/report2/Report2_5.java (91%) rename src/kwonseongmin/{report1 => }/report2/Report2_6.java (94%) diff --git a/src/kwonseongmin/report1/report1/Report1_1 b/src/kwonseongmin/report1/report1/Report1_1 deleted file mode 100644 index 3bf93ba..0000000 --- a/src/kwonseongmin/report1/report1/Report1_1 +++ /dev/null @@ -1,8 +0,0 @@ -//2-4. 다음 중 변수를 잘못 초기화 한 것은? -byte b = 256; -char c = ''; -char answer = 'no'; -float f = 3.14; -double d = 1.4e3f; - -정답 : b, c, answer, f \ No newline at end of file diff --git a/src/kwonseongmin/report1/report1/Report1_2 b/src/kwonseongmin/report1/report1/Report1_2 deleted file mode 100644 index b329ba7..0000000 --- a/src/kwonseongmin/report1/report1/Report1_2 +++ /dev/null @@ -1,16 +0,0 @@ -//2-7. 다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, '오류' 라고 적으세요. -System.out.println("1" + "2"); -System.out.println(true+""); -System.out.println('A' + 'B'); -System.out.println('1' + 2); -System.out.println('1' + '2'); -System.out.println('J' +"ava"); -System.out.println(true + null); - -정답 : 12 - true - 131 - 51 - 99 - Java - 오류 \ No newline at end of file diff --git a/src/kwonseongmin/report1/report1/Report1_3.java b/src/kwonseongmin/report1/report1/Report1_3.java deleted file mode 100644 index 487886a..0000000 --- a/src/kwonseongmin/report1/report1/Report1_3.java +++ /dev/null @@ -1,23 +0,0 @@ -package kwonseongmin.report1.report1; -//2-8. 아래는 변수 x, y, z의 값을 서로 바꾸는 예제이다. 결과와 같이 출력되도록 코드를 넣으세요. -//예상 결과 : x=2, y=3, z=1 - -class Exercise2_8 { - public static void main(String[] args){ - - int x = 1; - int y = 2; - int z = 3; - /* - 알맞은 코드를 넣어 완성하세요. - */ - int temp = x; - x = y; - y = z; - z = temp; - - System.out.println("x="+x); - System.out.println("y="+y); - System.out.println("z="+z); - } -} diff --git a/src/kwonseongmin/report1/report2/Report2_1 b/src/kwonseongmin/report2/Report2_1 similarity index 100% rename from src/kwonseongmin/report1/report2/Report2_1 rename to src/kwonseongmin/report2/Report2_1 diff --git a/src/kwonseongmin/report1/report2/Report2_2 b/src/kwonseongmin/report2/Report2_2 similarity index 100% rename from src/kwonseongmin/report1/report2/Report2_2 rename to src/kwonseongmin/report2/Report2_2 diff --git a/src/kwonseongmin/report1/report2/Report2_3.java b/src/kwonseongmin/report2/Report2_3.java similarity index 90% rename from src/kwonseongmin/report1/report2/Report2_3.java rename to src/kwonseongmin/report2/Report2_3.java index 01d3bde..9971f59 100644 --- a/src/kwonseongmin/report1/report2/Report2_3.java +++ b/src/kwonseongmin/report2/Report2_3.java @@ -1,4 +1,4 @@ -package kwonseongmin.report1.report2; +package kwonseongmin.report2; //3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다. //만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. //알맞은 코드를 넣으시오. diff --git a/src/kwonseongmin/report1/report2/Report2_4.java b/src/kwonseongmin/report2/Report2_4.java similarity index 95% rename from src/kwonseongmin/report1/report2/Report2_4.java rename to src/kwonseongmin/report2/Report2_4.java index e092779..05e72c2 100644 --- a/src/kwonseongmin/report1/report2/Report2_4.java +++ b/src/kwonseongmin/report2/Report2_4.java @@ -1,4 +1,4 @@ -package kwonseongmin.report1.report2; +package kwonseongmin.report2; //3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. //만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. diff --git a/src/kwonseongmin/report1/report2/Report2_5.java b/src/kwonseongmin/report2/Report2_5.java similarity index 91% rename from src/kwonseongmin/report1/report2/Report2_5.java rename to src/kwonseongmin/report2/Report2_5.java index ab65523..ded0908 100644 --- a/src/kwonseongmin/report1/report2/Report2_5.java +++ b/src/kwonseongmin/report2/Report2_5.java @@ -1,4 +1,4 @@ -package kwonseongmin.report1.report2; +package kwonseongmin.report2; //3-5. 아래는 변수 num의 값에 따라 '양수', '음수', '0'을 출력하는 코드이다. //삼항연산자를 이용해서 빈칸에 알맞은 코드를 넣으시오. diff --git a/src/kwonseongmin/report1/report2/Report2_6.java b/src/kwonseongmin/report2/Report2_6.java similarity index 94% rename from src/kwonseongmin/report1/report2/Report2_6.java rename to src/kwonseongmin/report2/Report2_6.java index c65070f..3b7c0db 100644 --- a/src/kwonseongmin/report1/report2/Report2_6.java +++ b/src/kwonseongmin/report2/Report2_6.java @@ -1,4 +1,4 @@ -package kwonseongmin.report1.report2; +package kwonseongmin.report2; //3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다. //변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오. From b79b499b24af9eb8de492079599f37628890102b Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Thu, 19 Jan 2023 20:10:49 +0900 Subject: [PATCH 05/10] =?UTF-8?q?2=EC=9D=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/choiwonbin/report1/Report1_3.java | 2 ++ src/choiwonbin/report3/Report3_1 | 26 ++++++++++++-- src/choiwonbin/report3/Report3_2.java | 16 +++++++++ src/choiwonbin/report3/Report3_3.java | 19 ++++++++++ src/choiwonbin/report3/Report3_4.java | 20 +++++++++++ src/choiwonbin/report3/Report3_5 | 26 ++++++++++++++ src/choiwonbin/report3/Report3_6.java | 15 ++++++++ src/kwonseongmin/report2/Report2_1 | 2 +- src/kwonseongmin/report3/Report3_1 | 25 +++++++++++++ src/kwonseongmin/report3/Report3_10.java | 45 ++++++++++++++++++++++++ src/kwonseongmin/report3/Report3_2.java | 16 +++++++++ src/kwonseongmin/report3/Report3_3.java | 19 ++++++++++ src/kwonseongmin/report3/Report3_4.java | 20 +++++++++++ src/kwonseongmin/report3/Report3_5 | 26 ++++++++++++++ src/kwonseongmin/report3/Report3_6.java | 15 ++++++++ src/kwonseongmin/report3/Report3_7.java | 18 ++++++++++ src/kwonseongmin/report3/Report3_8.java | 9 +++++ src/kwonseongmin/report3/Report3_9.java | 18 ++++++++++ src/kwonseongmin/report4/Report4_1 | 10 ++++++ src/kwonseongmin/report4/Report4_2 | 9 +++++ src/kwonseongmin/report4/Report4_3.java | 12 +++++++ src/kwonseongmin/report4/Report4_4.java | 29 +++++++++++++++ src/kwonseongmin/report4/Report4_5.java | 28 +++++++++++++++ src/kwonseongmin/report4/Report4_6.java | 34 ++++++++++++++++++ 24 files changed, 456 insertions(+), 3 deletions(-) create mode 100644 src/choiwonbin/report3/Report3_2.java create mode 100644 src/choiwonbin/report3/Report3_3.java create mode 100644 src/choiwonbin/report3/Report3_4.java create mode 100644 src/choiwonbin/report3/Report3_5 create mode 100644 src/choiwonbin/report3/Report3_6.java create mode 100644 src/kwonseongmin/report3/Report3_1 create mode 100644 src/kwonseongmin/report3/Report3_10.java create mode 100644 src/kwonseongmin/report3/Report3_2.java create mode 100644 src/kwonseongmin/report3/Report3_3.java create mode 100644 src/kwonseongmin/report3/Report3_4.java create mode 100644 src/kwonseongmin/report3/Report3_5 create mode 100644 src/kwonseongmin/report3/Report3_6.java create mode 100644 src/kwonseongmin/report3/Report3_7.java create mode 100644 src/kwonseongmin/report3/Report3_8.java create mode 100644 src/kwonseongmin/report3/Report3_9.java create mode 100644 src/kwonseongmin/report4/Report4_1 create mode 100644 src/kwonseongmin/report4/Report4_2 create mode 100644 src/kwonseongmin/report4/Report4_3.java create mode 100644 src/kwonseongmin/report4/Report4_4.java create mode 100644 src/kwonseongmin/report4/Report4_5.java create mode 100644 src/kwonseongmin/report4/Report4_6.java diff --git a/src/choiwonbin/report1/Report1_3.java b/src/choiwonbin/report1/Report1_3.java index 7a71557..150509f 100644 --- a/src/choiwonbin/report1/Report1_3.java +++ b/src/choiwonbin/report1/Report1_3.java @@ -20,4 +20,6 @@ public static void main(String[] args){ System.out.println("y="+y); System.out.println("z="+z); } + } + diff --git a/src/choiwonbin/report3/Report3_1 b/src/choiwonbin/report3/Report3_1 index 5edd550..982327c 100644 --- a/src/choiwonbin/report3/Report3_1 +++ b/src/choiwonbin/report3/Report3_1 @@ -1,3 +1,25 @@ -// 4-1번 문제 +//4-1. 다음의 문장들을 조건식으로 표현해보세요. -정답 : +//int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 + x > 10 && x < 20 + +//char형 변수 ch가 공백이나 탭이 아닐 때 true인 조건식 + ch != ' ' || ch != '₩t' + +//char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식 + ch == 'x' || ch == 'X' + +//char형 변수 ch가 숫자('0'~'9')일 때 true인 조건식 + ch >= '0' && ch <= 9 + +//char형 변수 ch가 영문자(대문자 또는 소문자)일 때 true인 조건식 + (ch > 'a' && ch < 'z') || (ch > 'A' && ch < 'Z') + +//int형 변수 year가 400으로 나눠떨어지거나 또는 4로 나눠떨어지고 100으로 나눠떨어지지 않을때 true인 조건식 + ((year % 400) == 0) || (((year % 4) == 0) && ((year % 100) != 0)) + +//boolean형 변수 powerOn이 false일 때 true인 조건식 + !powerOn + +//문자열 참조변수 str이 "yes"일 때 true인 조건식 + str.equals("yes") \ No newline at end of file diff --git a/src/choiwonbin/report3/Report3_2.java b/src/choiwonbin/report3/Report3_2.java new file mode 100644 index 0000000..99a9288 --- /dev/null +++ b/src/choiwonbin/report3/Report3_2.java @@ -0,0 +1,16 @@ +package choiwonbin.report3; + +//4-2. 1부터 20까지의 정수중에서 2 또는 3의 배수가 아닌 수의 총합을 구하세요. +class Exercise4_2 { + public static void main(String[] args) { + int sum = 0; + + for (int i = 1; i <= 20; i++) { + if (!(i%2 == 0 || i%3 == 0)) { + sum += i; + } + } + + System.out.println("sum="+sum); + } +} \ No newline at end of file diff --git a/src/choiwonbin/report3/Report3_3.java b/src/choiwonbin/report3/Report3_3.java new file mode 100644 index 0000000..5f0ba6e --- /dev/null +++ b/src/choiwonbin/report3/Report3_3.java @@ -0,0 +1,19 @@ +package choiwonbin.report3; + +//4-3. 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하세요. +class Exercise4_3 { + public static void main(String[] args) { + int sum = 0; + int totalSum = 0; + + for (int i = 1; i <= 10; i++) { + for (int j = 1; j <= i; j++) { + sum += j; + } + System.out.println(); + totalSum += sum; + sum = 0; + } + System.out.println("totalSum="+totalSum); + } +} \ No newline at end of file diff --git a/src/choiwonbin/report3/Report3_4.java b/src/choiwonbin/report3/Report3_4.java new file mode 100644 index 0000000..18a7c04 --- /dev/null +++ b/src/choiwonbin/report3/Report3_4.java @@ -0,0 +1,20 @@ +package choiwonbin.report3; + +//4-4. 1+(-2)+3+(-4)+...과 같은 식으로 계속 더해나갔을 때, +//몇까지 더해야 총합이 100 이상이 되는지 구하세요. +class Exercise4_4 { + public static void main(String[] args) { + int sum = 0; // 총합을 저장할 변수 + int s = 1; // 값의 부호를 바꿔주는데 사용할 변수 + int num = 0; + + for (int i = 1; sum < 100; i++) { + num = i * s; + sum += num; + s = -s; + } + + System.out.println("num="+num); + System.out.println("sum="+sum); + } +} \ No newline at end of file diff --git a/src/choiwonbin/report3/Report3_5 b/src/choiwonbin/report3/Report3_5 new file mode 100644 index 0000000..56ae002 --- /dev/null +++ b/src/choiwonbin/report3/Report3_5 @@ -0,0 +1,26 @@ +//4-5. 다음의 for문을 while문으로 변경하세요. +public class Exercise4_5 { + public static void main(String[] args) { + for(int i=0; i<=10; i++) { + for(int j=0; j<=i; j++) + System.out.print("*"); + System.out.println(); + } + }//end of main +} // end of class + +public class Exercise4_5 { + public static void main(String[] args) { + 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 \ No newline at end of file diff --git a/src/choiwonbin/report3/Report3_6.java b/src/choiwonbin/report3/Report3_6.java new file mode 100644 index 0000000..aeb2c56 --- /dev/null +++ b/src/choiwonbin/report3/Report3_6.java @@ -0,0 +1,15 @@ +package choiwonbin.report3; + +//4-6. 두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성하세요. +class Exercise4_6 { + public static void main(String[] args) { + for (int i = 0; i < 6; i ++) { + for (int j = 0; j < 6; j ++) { + if (i + j == 6) { + System.out.printf("%d + %d = %d", i, j, i + j); + System.out.println(); + } + } + } + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report2/Report2_1 b/src/kwonseongmin/report2/Report2_1 index 1e1d683..e0f14cf 100644 --- a/src/kwonseongmin/report2/Report2_1 +++ b/src/kwonseongmin/report2/Report2_1 @@ -11,4 +11,4 @@ short s = (short)ch; float f = (float)l; i = (int)ch; -정답 : i = (int)ch; \ No newline at end of file +정답 : i = (int)ch;, float f = (float)l; \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_1 b/src/kwonseongmin/report3/Report3_1 new file mode 100644 index 0000000..982327c --- /dev/null +++ b/src/kwonseongmin/report3/Report3_1 @@ -0,0 +1,25 @@ +//4-1. 다음의 문장들을 조건식으로 표현해보세요. + +//int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 + x > 10 && x < 20 + +//char형 변수 ch가 공백이나 탭이 아닐 때 true인 조건식 + ch != ' ' || ch != '₩t' + +//char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식 + ch == 'x' || ch == 'X' + +//char형 변수 ch가 숫자('0'~'9')일 때 true인 조건식 + ch >= '0' && ch <= 9 + +//char형 변수 ch가 영문자(대문자 또는 소문자)일 때 true인 조건식 + (ch > 'a' && ch < 'z') || (ch > 'A' && ch < 'Z') + +//int형 변수 year가 400으로 나눠떨어지거나 또는 4로 나눠떨어지고 100으로 나눠떨어지지 않을때 true인 조건식 + ((year % 400) == 0) || (((year % 4) == 0) && ((year % 100) != 0)) + +//boolean형 변수 powerOn이 false일 때 true인 조건식 + !powerOn + +//문자열 참조변수 str이 "yes"일 때 true인 조건식 + str.equals("yes") \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_10.java b/src/kwonseongmin/report3/Report3_10.java new file mode 100644 index 0000000..b4cf0a9 --- /dev/null +++ b/src/kwonseongmin/report3/Report3_10.java @@ -0,0 +1,45 @@ +package kwonseongmin.report3; + +//4-10. 다음은 숫자맞추기 게임을 작성한 것이다. 1과 100사이의 값을 반복적으로 입력해서 +//컴퓨터가 생각한 값을 맞추면 게임이 끝난다. +//사용자가 값을 입력하면, 컴퓨터는 자신이 생각한 값과 비교해서 결과를 알려준다. +//사용자가 컴퓨터가 생각한 숫자를 맞추면 게임이 끝나고 몇 번 만에 숫자를 맞췄는지 알려준다. + +class Exercise4_14 { + public static void main(String[] args) { + // 1~100사이의 임의의 값을 얻어서 answer에 저장한다. + int answer = (int)(Math.random() * 100) + 1; + 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 (input == answer) { + System.out.println("맞혔습니다.\n시도횟수는" + count + "번입니다."); + break; + } else if (input > answer) { + System.out.println("더 작은 수를 입력하세요."); + } else { + System.out.println("더 큰 수를 입력하세요."); + } + } 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번입니다. \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_2.java b/src/kwonseongmin/report3/Report3_2.java new file mode 100644 index 0000000..1bcf0b0 --- /dev/null +++ b/src/kwonseongmin/report3/Report3_2.java @@ -0,0 +1,16 @@ +package kwonseongmin.report3; + +//4-2. 1부터 20까지의 정수중에서 2 또는 3의 배수가 아닌 수의 총합을 구하세요. +class Exercise4_2 { + public static void main(String[] args) { + int sum = 0; + + for (int i = 1; i <= 20; i++) { + if (!(i%2 == 0 || i%3 == 0)) { + sum += i; + } + } + + System.out.println("sum="+sum); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_3.java b/src/kwonseongmin/report3/Report3_3.java new file mode 100644 index 0000000..b85da54 --- /dev/null +++ b/src/kwonseongmin/report3/Report3_3.java @@ -0,0 +1,19 @@ +package kwonseongmin.report3; + +//4-3. 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하세요. +class Exercise4_3 { + public static void main(String[] args) { + int sum = 0; + int totalSum = 0; + + for (int i = 1; i <= 10; i++) { + for (int j = 1; j <= i; j++) { + sum += j; + } + System.out.println(); + totalSum += sum; + sum = 0; + } + System.out.println("totalSum="+totalSum); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_4.java b/src/kwonseongmin/report3/Report3_4.java new file mode 100644 index 0000000..a810be7 --- /dev/null +++ b/src/kwonseongmin/report3/Report3_4.java @@ -0,0 +1,20 @@ +package kwonseongmin.report3; + +//4-4. 1+(-2)+3+(-4)+...과 같은 식으로 계속 더해나갔을 때, +//몇까지 더해야 총합이 100 이상이 되는지 구하세요. +class Exercise4_4 { + public static void main(String[] args) { + int sum = 0; // 총합을 저장할 변수 + int s = 1; // 값의 부호를 바꿔주는데 사용할 변수 + int num = 0; + + for (int i = 1; sum < 100; i++) { + num = i * s; + sum += num; + s = -s; + } + + System.out.println("num="+num); + System.out.println("sum="+sum); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_5 b/src/kwonseongmin/report3/Report3_5 new file mode 100644 index 0000000..56ae002 --- /dev/null +++ b/src/kwonseongmin/report3/Report3_5 @@ -0,0 +1,26 @@ +//4-5. 다음의 for문을 while문으로 변경하세요. +public class Exercise4_5 { + public static void main(String[] args) { + for(int i=0; i<=10; i++) { + for(int j=0; j<=i; j++) + System.out.print("*"); + System.out.println(); + } + }//end of main +} // end of class + +public class Exercise4_5 { + public static void main(String[] args) { + 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 \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_6.java b/src/kwonseongmin/report3/Report3_6.java new file mode 100644 index 0000000..79fa8a4 --- /dev/null +++ b/src/kwonseongmin/report3/Report3_6.java @@ -0,0 +1,15 @@ +package kwonseongmin.report3; + +//4-6. 두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성하세요. +class Exercise4_6 { + public static void main(String[] args) { + for (int i = 0; i < 6; i ++) { + for (int j = 0; j < 6; j ++) { + if (i + j == 6) { + System.out.printf("%d + %d = %d", i, j, i + j); + System.out.println(); + } + } + } + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_7.java b/src/kwonseongmin/report3/Report3_7.java new file mode 100644 index 0000000..c507fbc --- /dev/null +++ b/src/kwonseongmin/report3/Report3_7.java @@ -0,0 +1,18 @@ +package kwonseongmin.report3; + +import java.util.Arrays; + +//4-7. 숫자로 이루어진 문자열 str이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하세요. +//만일 문자열이 "12345"라면, ‘1+2+3+4+5’의 결과인 15를 출력이 출력되어야 합니다. +class Exercise4_7 { + public static void main(String[] args) { + String str = "12345"; + int sum = 0; + + for (int i = 0; i < str.length(); i++) { + sum += Character.getNumericValue(str.charAt(i)); + } + System.out.println("sum=" + sum); + } + +}//예상 결과 : sum=15 \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_8.java b/src/kwonseongmin/report3/Report3_8.java new file mode 100644 index 0000000..bcece48 --- /dev/null +++ b/src/kwonseongmin/report3/Report3_8.java @@ -0,0 +1,9 @@ +package kwonseongmin.report3; + +//4-8. Math.random()을 이용해서 1부터 6 사이의 임의의 정수를 변수 value에 저장하는 코드를 완성하세요. +class Exercise4_8{ + public static void main(String[] args){ + int value = (int)(Math.random() * 6 + 1); + System.out.println("value:"+ value); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report3/Report3_9.java b/src/kwonseongmin/report3/Report3_9.java new file mode 100644 index 0000000..8919b8b --- /dev/null +++ b/src/kwonseongmin/report3/Report3_9.java @@ -0,0 +1,18 @@ +package kwonseongmin.report3; + +//4-9. int 타입의 변수 num이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하세요. +//만일 변수 num의 값이 12345라면, ‘1+2+3+4+5’의 결과인 15를 출력하세요. +//문자열로 변환하지 말고 숫자로만 처리하세요. +class Exercise4_9 { + public static void main(String[] args) { + int num = 12345; + int sum = 0; + + while(num > 0) { + sum += num % 10; + num = num / 10; + } + + System.out.println("sum="+sum); + } +}//예상 결과 : sum=15 \ No newline at end of file diff --git a/src/kwonseongmin/report4/Report4_1 b/src/kwonseongmin/report4/Report4_1 new file mode 100644 index 0000000..82f092c --- /dev/null +++ b/src/kwonseongmin/report4/Report4_1 @@ -0,0 +1,10 @@ +//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][]; + +정답 : int[] arr = new int[]{1,2,3,4,5}; => 대괄호안에 배열의 크기를 지정할 수 없다. + int arr[5]; => 배열을 선언할 때는 배열의 크기를 지정할 수 없다. \ No newline at end of file diff --git a/src/kwonseongmin/report4/Report4_2 b/src/kwonseongmin/report4/Report4_2 new file mode 100644 index 0000000..c9d215e --- /dev/null +++ b/src/kwonseongmin/report4/Report4_2 @@ -0,0 +1,9 @@ +//5-2. 다음과 같은 배열이 있을 때, arr[3].length의 값은? +int[][]arr ={ + {5,5,5,5,5}, + {10,10,10}, + {20,20,20,20}, + {30,30} +}; + +정답 : 2 \ No newline at end of file diff --git a/src/kwonseongmin/report4/Report4_3.java b/src/kwonseongmin/report4/Report4_3.java new file mode 100644 index 0000000..fcb86ca --- /dev/null +++ b/src/kwonseongmin/report4/Report4_3.java @@ -0,0 +1,12 @@ +package kwonseongmin.report4; +//5-3. 배열 arr에 담긴 모든 값을 더하는 프로그램을 완성하세요. +class Exercise5_3{ + public static void main(String[] args){ + int[] arr = {10, 20, 30, 40, 50}; + int sum = 0; + for (int value : arr) { + sum += value; + } + System.out.println("sum="+sum); + } +}//예상 결과 : sum=150 \ No newline at end of file diff --git a/src/kwonseongmin/report4/Report4_4.java b/src/kwonseongmin/report4/Report4_4.java new file mode 100644 index 0000000..58b7d95 --- /dev/null +++ b/src/kwonseongmin/report4/Report4_4.java @@ -0,0 +1,29 @@ +package kwonseongmin.report4; + +//5-4. 2차원 배열 arr에 담긴 모든 총합과 평균을 구하는 프로그램을 완성하세요. +class Exercise5_4 { + public static void main(String[] args) { + 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 count = 0; + + for (int[] subArr : arr) { + for (int value : subArr) { + total += value; + count++; + } + } + + average = total / (float)count; + + System.out.println("total=" + total); + System.out.println("average=" + average); + } // end of main +} // end of class \ No newline at end of file diff --git a/src/kwonseongmin/report4/Report4_5.java b/src/kwonseongmin/report4/Report4_5.java new file mode 100644 index 0000000..88224ea --- /dev/null +++ b/src/kwonseongmin/report4/Report4_5.java @@ -0,0 +1,28 @@ +package kwonseongmin.report4; + +//5-5. 다음은 1과 9 사이의 중복되지 않은 숫자로 이루어진 3자리 숫자를 만들어내는 프로그램이다. +//코드를 완성하세요. 다만 Math.random()을 사용했기 때문에 실행 결과 예시와 다를 수 있습니다. +class Exercise5_5{ + public static void main(String[] args) { + 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; + } + + // 배열 ballArr의 앞에서 3개의 수를 배열 ball3로 복사한다 + for (int i = 0; i < 3; i++) { + ball3[i] = ballArr[i]; + } + + for (int i = 0; i < ball3.length; i++) { + System.out.print(ball3[i]); + } + }//end of main +}//end of class \ No newline at end of file diff --git a/src/kwonseongmin/report4/Report4_6.java b/src/kwonseongmin/report4/Report4_6.java new file mode 100644 index 0000000..39750db --- /dev/null +++ b/src/kwonseongmin/report4/Report4_6.java @@ -0,0 +1,34 @@ +package kwonseongmin.report4; + +//5-6. 단어의 글자위치를 섞어서 보여주고 원래의 단어를 맞추는 예제이다. +//실행결과와 같이 동작하도록 빈 칸을 채우세요. +import java.util.Scanner; + +class Exercise5_13 { + public static void main(String args[]) { + 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 randomIndex = (int)(Math.random() * question.length); + char tmp = question[j]; + question[j] = question[randomIndex]; + question[randomIndex] = 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 \ No newline at end of file From af1312d4bfcee4b77635b45a6b49d28f3ad3497f Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 25 Jan 2023 13:36:09 +0900 Subject: [PATCH 06/10] =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20Flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...353\241\234\352\267\270\354\235\270Flow.png" | Bin 0 -> 31947 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "src/kwonseongmin/report4/\353\241\234\352\267\270\354\235\270Flow.png" diff --git "a/src/kwonseongmin/report4/\353\241\234\352\267\270\354\235\270Flow.png" "b/src/kwonseongmin/report4/\353\241\234\352\267\270\354\235\270Flow.png" new file mode 100644 index 0000000000000000000000000000000000000000..f0b79be953baf3a58516b513e5a4cadcc0c93406 GIT binary patch literal 31947 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 Date: Wed, 25 Jan 2023 13:36:33 +0900 Subject: [PATCH 07/10] Report 5 --- src/kwonseongmin/report5/Report5_1.java | 48 +++++++++++++++++++++++++ src/kwonseongmin/report5/Report5_2.java | 11 ++++++ src/kwonseongmin/report5/Report5_3.java | 28 +++++++++++++++ src/kwonseongmin/report5/Report5_4 | 14 ++++++++ src/kwonseongmin/report5/Report5_5 | 22 ++++++++++++ 5 files changed, 123 insertions(+) create mode 100644 src/kwonseongmin/report5/Report5_1.java create mode 100644 src/kwonseongmin/report5/Report5_2.java create mode 100644 src/kwonseongmin/report5/Report5_3.java create mode 100644 src/kwonseongmin/report5/Report5_4 create mode 100644 src/kwonseongmin/report5/Report5_5 diff --git a/src/kwonseongmin/report5/Report5_1.java b/src/kwonseongmin/report5/Report5_1.java new file mode 100644 index 0000000..eaecf9a --- /dev/null +++ b/src/kwonseongmin/report5/Report5_1.java @@ -0,0 +1,48 @@ +package kwonseongmin.report5; + + +//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; + + public Student() { + } + + public 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; + } + + // 6-2 정답 + String info() { + //홍길동, 1, 1, 100, 60, 76, 236, 78.7 + return name + ", " + ban + ", " + no + ", " + kor + ", " + eng + ", " + math + ", " + getTotal() + ", " + getAverage(); + } + + + // 6-3 정답 + int getTotal() { + return kor + eng + math; + } + + // 6-3 정답 + float getAverage() { + return Math.round(getTotal() / 3.0f * 10) / 10.0f; + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report5/Report5_2.java b/src/kwonseongmin/report5/Report5_2.java new file mode 100644 index 0000000..bda94b6 --- /dev/null +++ b/src/kwonseongmin/report5/Report5_2.java @@ -0,0 +1,11 @@ +package kwonseongmin.report5; + +//6-2. 6-1에서 정의한 Student 클래스에 생성자와 info()를 추가해서 실행결과와 같은 결과를 얻도록 하세요. +class Exercise6_2{ + public static void main(String[] args){ + Student s = new Student("홍길동", 1, 1, 100, 60, 76); + + String str = s.info(); + System.out.println(str); + }// 예상 결과 : 홍길동, 1, 1, 100, 60, 76, 236, 78.7 +} \ No newline at end of file diff --git a/src/kwonseongmin/report5/Report5_3.java b/src/kwonseongmin/report5/Report5_3.java new file mode 100644 index 0000000..68191ac --- /dev/null +++ b/src/kwonseongmin/report5/Report5_3.java @@ -0,0 +1,28 @@ +package kwonseongmin.report5; + +//6-2. 6-1에서 정의한 Student 클래스에 생성자와 info()를 추가해서 실행결과와 같은 결과를 얻도록 하세요. +//6-3. 연습문제 6-1에서 정의한 Student 클래스에 다음과 같이 정의된 두 개의 메서드를 추가하세요. +//1. 메서드명 : getTotal +//기능 : 국어(kor), 영어(eng), 수학(math)의 점수를 모두 더해서 반환한다. +//반환타입 : int +//매개변수 : 없음 +//2. 메서드명 : getAverage +//기능 : 총점(국어점수+영어점수+수학점수)을 과목수로 나눈 평균을 구한다. +//소수점 둘째자리에서 반올림할 것. +//반환타입 : float +//매개변수 : 없음 + +class Exercise6_3 { + public static void main(String args[]) { + Student s = new Student(); + 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 +} \ No newline at end of file diff --git a/src/kwonseongmin/report5/Report5_4 b/src/kwonseongmin/report5/Report5_4 new file mode 100644 index 0000000..78e199d --- /dev/null +++ b/src/kwonseongmin/report5/Report5_4 @@ -0,0 +1,14 @@ +//6-4. 다음의 코드에 정의된 변수들을 종류별(클래스 변수,인스턴스 변수, 지역변수)로 구분해서 적으세요. +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/kwonseongmin/report5/Report5_5 b/src/kwonseongmin/report5/Report5_5 new file mode 100644 index 0000000..6bb38ce --- /dev/null +++ b/src/kwonseongmin/report5/Report5_5 @@ -0,0 +1,22 @@ + +//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 armorUp, weaponUp 등의 처리로 변경되었을 때 모든 Marine이 같은 값을 가져야 한다. \ No newline at end of file From a63817c80f4ca86ed22b75c0e73271766258a293 Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 25 Jan 2023 13:36:52 +0900 Subject: [PATCH 08/10] Report 6 --- src/kwonseongmin/report6/Report6_1.txt | 70 ++++++++++++++++++++++++++ src/kwonseongmin/report6/Report6_2.txt | 16 ++++++ 2 files changed, 86 insertions(+) create mode 100644 src/kwonseongmin/report6/Report6_1.txt create mode 100644 src/kwonseongmin/report6/Report6_2.txt diff --git a/src/kwonseongmin/report6/Report6_1.txt b/src/kwonseongmin/report6/Report6_1.txt new file mode 100644 index 0000000..70246c6 --- /dev/null +++ b/src/kwonseongmin/report6/Report6_1.txt @@ -0,0 +1,70 @@ +6-8. 다음 중 생성자에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 모든 생성자의 이름은 클래스의 이름과 동일해야한다. +b. 생성자는 객체를 생성하기 위한 것이다. +c. 클래스에는 생성자가 반드시 하나 이상 있어야 한다. +d. 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다. +e. 생성자는 오버로딩 할 수 없다. + +정답 : b, e + +6-9. 다음 중 this에 대한 설명으로 맞지 않은 것은? (모두 고르시오) +a. 객체 자신을 가리키는 참조변수이다. +b. 클래스 내에서라면 어디서든 사용할 수 있다. +c. 지역변수와 인스턴스변수를 구별할 때 사용한다. +d. 클래스 메서드 내에서는 사용할 수 없다. + +정답 : b + +6-10. 다음 중 오버로딩이 성립하기 위한 조건이 아닌 것은? (모두 고르시오) +a. 메서드의 이름이 같아야 한다. +b. 매개변수의 개수나 타입이 달라야 한다. +c. 리턴타입이 달라야 한다. +d. 매개변수의 이름이 달라야 한다. + +정답 : c, d + +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); } + +정답 : b, c, d + +6-12. 다음 중 초기화에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 멤버변수는 자동 초기화되므로 초기화하지 않고도 값을 참고할 수 있다. +b. 지역변수는 사용하기 전에 반드시 초기화해야 한다. +c. 초기화 블럭보다 생성자가 먼저 수행된다. +d. 명시적 초기화를 제일 우선적으로 고려해야 한다. +e. 클래스변수보다 인스턴스변수가 먼저 초기화된다 + +정답 : c, e + +6-13. 다음 중 인스턴스변수의 초기화 순서가 올바른 것은? +a. 기본값-명시적초기화-초기화블럭-생성자 +b. 기본값-명시적초기화-생성자-초기화블럭 +c. 기본값-초기화블럭-명시적초기화-생성자 +d. 기본값-초기화블럭-생성자-명시적초기화 + +정답 : a + +6-14. 다음 중 지역변수에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 자동 초기화되므로 별도의 초기화가 필요없다. +b. 지역변수가 선언된 메서드가 종료되면 지역변수도 함께 소멸된다. +c. 메서드의 매개변수로 선언된 변수도 지역변수이다. +d. 클래스변수나 인스턴스변수보다 메모리 부담이 적다. +e. 힙(heap)영역에 생성되며 가비지 컬렉터에 의해 소멸된다. + +정답 : a, e + +6-15. 호출스택이 다음과 같은 상황일 때 옳지 않은 설명은? (모두 고르시오) +a. 제일 먼저 호출스택에 저장된 것은 main메서드이다. +b. println메서드를 제외한 나머지 메서드들은 모두 종료된 상태이다. +c. method2메서드를 호출한 것은 main메서드이다. +d. println메서드가 종료되면 method1메서드가 수행을 재개한다. +e. main-method2-method1-println의 순서로 호출되었다. +f. 현재 실행중인 메서드는 println뿐이다. + +정답 : b \ No newline at end of file diff --git a/src/kwonseongmin/report6/Report6_2.txt b/src/kwonseongmin/report6/Report6_2.txt new file mode 100644 index 0000000..9b644c7 --- /dev/null +++ b/src/kwonseongmin/report6/Report6_2.txt @@ -0,0 +1,16 @@ +//6-16. 다음 코드의 실행 결과를 예측하여 적어주세요. +class Exercise6_19 { + 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 출력 \ No newline at end of file From 7e3745ff5158643f9500b0009fd60ec7b55d7920 Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 25 Jan 2023 13:37:06 +0900 Subject: [PATCH 09/10] Report 7 --- src/kwonseongmin/report7/Report7_1.java | 32 ++++++++++++ src/kwonseongmin/report7/Report7_2.java | 28 +++++++++++ src/kwonseongmin/report7/Report7_3.java | 65 +++++++++++++++++++++++++ src/kwonseongmin/report7/Report7_4.java | 18 +++++++ src/kwonseongmin/report7/Report7_5.java | 18 +++++++ src/kwonseongmin/report8/Report8_1.java | 13 +++++ 6 files changed, 174 insertions(+) create mode 100644 src/kwonseongmin/report7/Report7_1.java create mode 100644 src/kwonseongmin/report7/Report7_2.java create mode 100644 src/kwonseongmin/report7/Report7_3.java create mode 100644 src/kwonseongmin/report7/Report7_4.java create mode 100644 src/kwonseongmin/report7/Report7_5.java create mode 100644 src/kwonseongmin/report8/Report8_1.java diff --git a/src/kwonseongmin/report7/Report7_1.java b/src/kwonseongmin/report7/Report7_1.java new file mode 100644 index 0000000..18d255d --- /dev/null +++ b/src/kwonseongmin/report7/Report7_1.java @@ -0,0 +1,32 @@ +package kwonseongmin.report7; +// 6-17번 문제 +class Exercise6_17 { + + + static int[] shuffle(int[] array) { + if(array==null || array.length==0) { + return array; + }; + for (int i = 0; i < array.length; i++) { + + int rIndex = (int)(Math.random() * array.length); + + int temp = array[i]; + + array[i] = array[rIndex]; + + array[rIndex] = temp; + } + + return array; + + } + + 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/kwonseongmin/report7/Report7_2.java b/src/kwonseongmin/report7/Report7_2.java new file mode 100644 index 0000000..eee8449 --- /dev/null +++ b/src/kwonseongmin/report7/Report7_2.java @@ -0,0 +1,28 @@ +package kwonseongmin.report7; + +class Exercise6_18 { + + static boolean isNumber(String str) { + if(str==null || str.equals("")) { + return false; + }; + + char[] arr = str.toCharArray(); + + for (char ch : arr) { + 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 diff --git a/src/kwonseongmin/report7/Report7_3.java b/src/kwonseongmin/report7/Report7_3.java new file mode 100644 index 0000000..e9b1e6f --- /dev/null +++ b/src/kwonseongmin/report7/Report7_3.java @@ -0,0 +1,65 @@ +package kwonseongmin.report7; + +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() { + // (1) isPowerOn의 값이 true면 false로, false면 true로 바꾼다. + this.isPowerOn = !this.isPowerOn; + } + void volumeUp() { + // (2) volume의 값이 MAX_VOLUME보다 작을 때만 값을 1 증가시킨다. + if (this.volume < MAX_VOLUME) { + this.volume++; + } + } + void volumeDown() { + // (3) volume의 값이 MIN_VOLUME보다 클 때만 값을 1 감소시킨다. + if (this.volume > MIN_VOLUME) { + this.volume--; + } + } + void channelUp() { + // (4) channel의 값을 1 증가시킨다. + // 만일 channel이 MAX_CHANNEL이면 , channel의 값을 MIN_CHANNEL로 바꾼다. + this.channel = this.channel < MAX_CHANNEL ? ++this.channel : MIN_CHANNEL; + } + void channelDown() { + // (5) channel의 값을 1 감소시킨다 . + // 만일 channel이 MIN_CHANNEL이면, channel의 값을 MAX_CHANNEL로 바꾼다. + this.channel = this.channel > MIN_CHANNEL ? --this.channel : MAX_CHANNEL; + } + + public MyTv() { + } + + public MyTv(boolean isPowerOn, int channel, int volume) { + + this.isPowerOn = isPowerOn; + this.channel = channel; + this.volume = volume; + } +} + +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 \ No newline at end of file diff --git a/src/kwonseongmin/report7/Report7_4.java b/src/kwonseongmin/report7/Report7_4.java new file mode 100644 index 0000000..41549d9 --- /dev/null +++ b/src/kwonseongmin/report7/Report7_4.java @@ -0,0 +1,18 @@ +package kwonseongmin.report7; + +import java.util.*; +class Exercise6_20 { + /* (1) max 메서드를 작성하시오 . */ + public static void main(String[] args) { + int[] data = {3,2,9,4,7}; + System.out.println(Arrays.toString(data)); + System.out.println("최대값 :"+ max(data)); + System.out.println("최대값 :"+ max(null)); + System.out.println("최대값 :"+ max(new int[]{})); // 크기가 0인 배열 } + } + + static int max(int[] arr) { + + return 0; + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report7/Report7_5.java b/src/kwonseongmin/report7/Report7_5.java new file mode 100644 index 0000000..dc4abba --- /dev/null +++ b/src/kwonseongmin/report7/Report7_5.java @@ -0,0 +1,18 @@ +package kwonseongmin.report7; + +class Exercise6_21 { + /* (1) abs 메서드를 작성하시오. */ + static int abs(int value) { + return value >= 0 ? value : -value; + } + + 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/kwonseongmin/report8/Report8_1.java b/src/kwonseongmin/report8/Report8_1.java new file mode 100644 index 0000000..51a1a55 --- /dev/null +++ b/src/kwonseongmin/report8/Report8_1.java @@ -0,0 +1,13 @@ +package kwonseongmin.report8; + + + +class Exercise7_1 { + public static void main(String args[]) { + SutdaDeck deck = new SutdaDeck(); + + for (int i = 0; i < deck.cards.length; i++) + System.out.print(deck.cards[i] + ","); + } +} +// 예상결과) 1K,2,3K,4,5,6,7,8K,9,10,1,2,3,4,5,6,7,8,9,10, \ No newline at end of file From ad9ed8519fa7a00a4b34c2d3dfe05a7104671598 Mon Sep 17 00:00:00 2001 From: kikidy12 Date: Wed, 25 Jan 2023 13:37:18 +0900 Subject: [PATCH 10/10] Report 8 --- src/kwonseongmin/report8/MyTv.java | 39 ++++++++++++++++++++++++ src/kwonseongmin/report8/MyTv2.java | 40 +++++++++++++++++++++++++ src/kwonseongmin/report8/Product.java | 14 +++++++++ src/kwonseongmin/report8/Report8_2.java | 22 ++++++++++++++ src/kwonseongmin/report8/Report8_3.txt | 3 ++ src/kwonseongmin/report8/Report8_4.java | 12 ++++++++ src/kwonseongmin/report8/Report8_5.java | 21 +++++++++++++ src/kwonseongmin/report8/SutdaCard.java | 20 +++++++++++++ src/kwonseongmin/report8/SutdaDeck.java | 37 +++++++++++++++++++++++ src/kwonseongmin/report8/Tv.java | 11 +++++++ 10 files changed, 219 insertions(+) create mode 100644 src/kwonseongmin/report8/MyTv.java create mode 100644 src/kwonseongmin/report8/MyTv2.java create mode 100644 src/kwonseongmin/report8/Product.java create mode 100644 src/kwonseongmin/report8/Report8_2.java create mode 100644 src/kwonseongmin/report8/Report8_3.txt create mode 100644 src/kwonseongmin/report8/Report8_4.java create mode 100644 src/kwonseongmin/report8/Report8_5.java create mode 100644 src/kwonseongmin/report8/SutdaCard.java create mode 100644 src/kwonseongmin/report8/SutdaDeck.java create mode 100644 src/kwonseongmin/report8/Tv.java diff --git a/src/kwonseongmin/report8/MyTv.java b/src/kwonseongmin/report8/MyTv.java new file mode 100644 index 0000000..cfd1cf8 --- /dev/null +++ b/src/kwonseongmin/report8/MyTv.java @@ -0,0 +1,39 @@ +package kwonseongmin.report8; + +public class MyTv { + private boolean isPowerOn; + private int channel; + private int volume; + + final int MAX_VOLUME = 100; + final int MIN_VOLUME = 0; + final int MAX_CHANNEL = 100; + final int MIN_CHANNEL = 1; + + // (구현) + + public boolean isPowerOn() { + return isPowerOn; + } + + public void setPowerOn(boolean powerOn) { + isPowerOn = powerOn; + } + + public void setVolume(int volume) { + if(volume > MAX_VOLUME || volume < MIN_VOLUME) + return; + this.volume = volume; + } + public int getVolume() { + return volume; + } + public void setChannel(int channel) { + if(channel > MAX_CHANNEL || channel < MIN_CHANNEL) + return; + this.channel = channel; + } + public int getChannel(){ + return channel; + } +} diff --git a/src/kwonseongmin/report8/MyTv2.java b/src/kwonseongmin/report8/MyTv2.java new file mode 100644 index 0000000..cdc7be7 --- /dev/null +++ b/src/kwonseongmin/report8/MyTv2.java @@ -0,0 +1,40 @@ +package kwonseongmin.report8; + +public class MyTv2 { + private boolean isPowerOn; + private int channel; + private int volume; + private int prevChannel; + // (구현) + + final int MAX_VOLUME = 100; + final int MIN_VOLUME = 0; + final int MAX_CHANNEL = 100; + final int MIN_CHANNEL = 1; + + public void setVolume(int volume) { + if (volume > MAX_VOLUME || volume < MIN_VOLUME) + return; + this.volume = volume; + } + + public int getVolume() { + return volume; + } + + public void setChannel(int channel) { + if (channel > MAX_CHANNEL || channel < MIN_CHANNEL) + return; + + prevChannel = this.channel; + this.channel = channel; + } + + public int getChannel() { + return channel; + } + + public void gotoPrevChannel() { + this.setChannel(this.prevChannel); + } +} diff --git a/src/kwonseongmin/report8/Product.java b/src/kwonseongmin/report8/Product.java new file mode 100644 index 0000000..09be1bc --- /dev/null +++ b/src/kwonseongmin/report8/Product.java @@ -0,0 +1,14 @@ +package kwonseongmin.report8; + +public class Product { + int price; // 제품의 가격 + int bonusPoint; // 제품구매 시 제공하는 보너스점수 + + public Product() { + } + + Product(int price) { + this.price = price; + bonusPoint = (int) (price / 10.0); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report8/Report8_2.java b/src/kwonseongmin/report8/Report8_2.java new file mode 100644 index 0000000..b1f4e66 --- /dev/null +++ b/src/kwonseongmin/report8/Report8_2.java @@ -0,0 +1,22 @@ +package kwonseongmin.report8; + +class Exercise7_2 { + public static void main(String args[]) { + SutdaDeck deck = new SutdaDeck(); + + System.out.println(deck.pick(0)); + System.out.println(deck.pick()); + deck.shuffle(); + + for(int i=0; i < deck.cards.length;i++) + System.out.print(deck.cards[i]+","); + + System.out.println(); + System.out.println(deck.pick(0)); + } +} +//예상결과) +// 1K +// 7 +// 2,6,10,1K,7,3,10,5,7,8,5,1,2,9,6,9,4,8K,4,3K, +// 2 \ No newline at end of file diff --git a/src/kwonseongmin/report8/Report8_3.txt b/src/kwonseongmin/report8/Report8_3.txt new file mode 100644 index 0000000..b413af8 --- /dev/null +++ b/src/kwonseongmin/report8/Report8_3.txt @@ -0,0 +1,3 @@ +7-3. 다음의 코드는 컴파일하면 에러가 발생한다. 그 이유를 설명하고 에러를 수정하기 위해서는 코드를 어떻게 바꾸어야 하는가? + +정답 : Tv가 상속받는 Product의 기본 생성자가 없어서 발생하는 문제 Product에서 기본 생성자를 만들거나 Tv에서 Product에 존재하는 생성자를 통해 초기화시켜준다. \ No newline at end of file diff --git a/src/kwonseongmin/report8/Report8_4.java b/src/kwonseongmin/report8/Report8_4.java new file mode 100644 index 0000000..c299cdc --- /dev/null +++ b/src/kwonseongmin/report8/Report8_4.java @@ -0,0 +1,12 @@ +package kwonseongmin.report8; + +class Exercise7_4 { + public static void main(String args[]) { + MyTv t = new MyTv(); + + t.setChannel(10); + System.out.println("CH:" + t.getChannel()); + t.setVolume(20); + System.out.println("VOL:" + t.getVolume()); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report8/Report8_5.java b/src/kwonseongmin/report8/Report8_5.java new file mode 100644 index 0000000..0fa1c94 --- /dev/null +++ b/src/kwonseongmin/report8/Report8_5.java @@ -0,0 +1,21 @@ +package kwonseongmin.report8; + +class Exercise7_5 { + public static void main(String args[]) { + MyTv2 t = new MyTv2(); + t.setChannel(10); + System.out.println("CH:" + t.getChannel()); + t.setChannel(20); + System.out.println("CH:" + t.getChannel()); + t.gotoPrevChannel(); + System.out.println("CH:" + t.getChannel()); + t.gotoPrevChannel(); + System.out.println("CH:" + t.getChannel()); + } +} + + +// CH:10 +// CH:20 +// CH:10 +// CH:20 \ No newline at end of file diff --git a/src/kwonseongmin/report8/SutdaCard.java b/src/kwonseongmin/report8/SutdaCard.java new file mode 100644 index 0000000..9374dbb --- /dev/null +++ b/src/kwonseongmin/report8/SutdaCard.java @@ -0,0 +1,20 @@ +package kwonseongmin.report8; + +public class SutdaCard { + int num; + boolean isKwang; + + SutdaCard() { + this(1, true); + } + + SutdaCard(int num, boolean isKwang) { + this.num = num; + this.isKwang = isKwang; + } + + // info()대신 Object클래스의 toString()을 오버라이딩했다. + public String toString() { + return num + ( isKwang ? "K":""); + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report8/SutdaDeck.java b/src/kwonseongmin/report8/SutdaDeck.java new file mode 100644 index 0000000..dd9c72b --- /dev/null +++ b/src/kwonseongmin/report8/SutdaDeck.java @@ -0,0 +1,37 @@ +package kwonseongmin.report8; + + +public class SutdaDeck { + final int CARD_NUM = 20; + SutdaCard[] cards = new SutdaCard[CARD_NUM]; + + SutdaDeck() { + // (구현) 배열 SutdaCard를 적절히 초기화 하시오. + for (int i = 0; i < cards.length; i++) { + int num = i % 10 + 1; + boolean isKwang = i+1 == 1 || i+1 == 3 || i+1 == 8; + + SutdaCard card = new SutdaCard(num, isKwang); + cards[i] = card; + } + } + + void shuffle() { + for (int i = 0; i < cards.length - 1; i++) { + SutdaCard temp = cards[i]; + int randomIndex = (int)(Math.random() * cards.length); + + cards[i] = cards[randomIndex]; + + cards[randomIndex] = temp; + } + } + + SutdaCard pick(int index) { + return cards[index]; + } + + SutdaCard pick() { + return cards[(int)(Math.random() * cards.length)]; + } +} \ No newline at end of file diff --git a/src/kwonseongmin/report8/Tv.java b/src/kwonseongmin/report8/Tv.java new file mode 100644 index 0000000..7ae286d --- /dev/null +++ b/src/kwonseongmin/report8/Tv.java @@ -0,0 +1,11 @@ +package kwonseongmin.report8; + +public class Tv extends Product { + Tv() { +// super(0); + } + + public String toString() { + return "Tv"; + } +} \ No newline at end of file