From 4716cc52d78642b516d45d4a9b0d792560137a98 Mon Sep 17 00:00:00 2001 From: LIHA Date: Thu, 19 Jan 2023 01:50:25 +0900 Subject: [PATCH 1/8] =?UTF-8?q?feat:=20JAVA=201=EC=9D=BC=EC=B0=A8=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 +++++ .idea/misc.xml | 6 ++++ .idea/modules.xml | 8 +++++ .idea/vcs.xml | 6 ++++ hanghae-java-study-12.iml | 11 +++++++ src/seoliha/report1/Report1_1 | 8 +++++ src/seoliha/report1/Report1_2 | 10 ++++++ src/seoliha/report1/Report1_3.java | 27 ++++++++++++++++ src/seoliha/report2/Report2_1 | 12 +++++++ src/seoliha/report2/Report2_2.java | 32 +++++++++++++++++++ src/seoliha/report2/Report2_3.java | 11 +++++++ src/seoliha/report2/Report2_4.java | 14 ++++++++ src/seoliha/report2/Report2_5.java | 16 ++++++++++ src/seoliha/report2/Report2_6.java | 22 +++++++++++++ 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 ---- 18 files changed, 191 insertions(+), 30 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 hanghae-java-study-12.iml create mode 100644 src/seoliha/report1/Report1_1 create mode 100644 src/seoliha/report1/Report1_2 create mode 100644 src/seoliha/report1/Report1_3.java create mode 100644 src/seoliha/report2/Report2_1 create mode 100644 src/seoliha/report2/Report2_2.java create mode 100644 src/seoliha/report2/Report2_3.java create mode 100644 src/seoliha/report2/Report2_4.java create mode 100644 src/seoliha/report2/Report2_5.java create mode 100644 src/seoliha/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/.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..07115cd --- /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..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file 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/seoliha/report1/Report1_1 b/src/seoliha/report1/Report1_1 new file mode 100644 index 0000000..cfdaa3d --- /dev/null +++ b/src/seoliha/report1/Report1_1 @@ -0,0 +1,8 @@ +2-4번 문제 + +정답 : +byte b = 256; //byte는 128까지만 +char c = ''; //char는 아무것도 없이 선언불가. 공백 넣으면 가능 +char answer = 'no'; //char는 딱 한 문자만 선언가능 +float f = 3.14 // float타입 필수인 f 누락 및 세미콜론 누락 + diff --git a/src/seoliha/report1/Report1_2 b/src/seoliha/report1/Report1_2 new file mode 100644 index 0000000..c7ea6de --- /dev/null +++ b/src/seoliha/report1/Report1_2 @@ -0,0 +1,10 @@ +2-7 번 문제 + +정답 : +System.out.println("1" + "2"); // 12 +System.out.println(true+""); //true +System.out.println('A' + 'B'); // 131 (ASCII로 표시된 것. A=65, B=66) +System.out.println('1' + 2); // 51 (1의 ASCII 코드 49 + 숫자 2) +System.out.println('1' + '2'); // 99 (1의 ASCII 코드 49 + 2의 ASCII 50) +System.out.println('J' +"ava"); // Java ("ava"가 String타입이므로 J도 String화 결합) +System.out.println(true + null); //오류 \ No newline at end of file diff --git a/src/seoliha/report1/Report1_3.java b/src/seoliha/report1/Report1_3.java new file mode 100644 index 0000000..a13bf45 --- /dev/null +++ b/src/seoliha/report1/Report1_3.java @@ -0,0 +1,27 @@ +package seoliha.report1; +// 2-8 번 문제 +public class Report1_3 { + public static void main(String[] args) { + int x = 1; + int y = 2; + int z = 3; + + int temp; + temp = x; + x = y; + y = z; + z = temp; + + 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/seoliha/report2/Report2_1 b/src/seoliha/report2/Report2_1 new file mode 100644 index 0000000..c506260 --- /dev/null +++ b/src/seoliha/report2/Report2_1 @@ -0,0 +1,12 @@ +byte b = 10; +char ch = 'A'; +int i = 100; +long l = 1000L; + +//3-1. 다음 중 형변환을 생략할 수 있는 것은? (모두 고르시오) +b = (byte)i; +ch = (char)b; +short s = (short)ch; +float f = (float)l; // => 생략 가능 +i = (int)ch; // => 생략 가능 + diff --git a/src/seoliha/report2/Report2_2.java b/src/seoliha/report2/Report2_2.java new file mode 100644 index 0000000..f9e541c --- /dev/null +++ b/src/seoliha/report2/Report2_2.java @@ -0,0 +1,32 @@ +package seoliha.report2; +// 3-2번 문제 +public class Report2_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); + //true. ||을 기준으로 좌우로 나눴을때 y >= 5가 참이므로 true가 반환됨. + System.out.println(y += 10 - x++); + // 13. y = 15가 되어 x++ 를 빼는데 참조될 x가 위에 없어서 그냥 x가 들어옴 + System.out.println(x += 2); + // 5. 윗줄의 x++를 참조해서 오기 때문에 x=3인 상태로 들어옴 + System.out.println(!('A' <= c && c <= 'Z')); + // false. 'A' <= c는 참. c <= 'Z'도 참('Z' 아스키코드 90)이므로 + System.out.println('C' - c); + // 2. 둘다 char이므로 ASCII값으로 계산. 'C'는 67이므로. + System.out.println('5' - '0'); + // 5. char이므로 ASCII 계산 시 '5'는 53, '0'은 48이므로 53-48. + System.out.println(c + 1); + // 66. '1'이 아니므로 'A'의 ASCII값 65에 실제 숫자를 더한 것. + System.out.println(++c); + // B. 65+1 = 66인데 char로 선언되었으므로 ASCII값 66인 B가 반환 + System.out.println(c++); + // B. 위 값을 참조해오는건 맞으나 후위연산자이므로 먼저 print되어 ++ 수행이 반영되지 않음. + System.out.println(c); + // C. 위의 c++이 참조되어 66+1 =67(C의 ASCII값)이 되어 C 반환 + } +} diff --git a/src/seoliha/report2/Report2_3.java b/src/seoliha/report2/Report2_3.java new file mode 100644 index 0000000..af5afc2 --- /dev/null +++ b/src/seoliha/report2/Report2_3.java @@ -0,0 +1,11 @@ +package seoliha.report2; +//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다. +//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. +//알맞은 코드를 넣으시오. +public class Report2_3 { + public static void main(String[] args){ + int num = 456; + double result = Math.floor(num*0.01); + System.out.println((int)result*100); + } +} diff --git a/src/seoliha/report2/Report2_4.java b/src/seoliha/report2/Report2_4.java new file mode 100644 index 0000000..bc9e4b3 --- /dev/null +++ b/src/seoliha/report2/Report2_4.java @@ -0,0 +1,14 @@ +package seoliha.report2; +//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. +//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. +//알맞은 코드를 넣으시오. +public class Report2_4 { + public static void main(String[] args){ + int numOfApples = 123; // 사과의 개수 + int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수) + int numOfBucket = ((numOfApples / sizeOfBucket) +1); // 모든 사과를 담는데 필요한 바구니의 수 + + System.out.println("필요한 바구니의 수 :"+numOfBucket); + } + +} diff --git a/src/seoliha/report2/Report2_5.java b/src/seoliha/report2/Report2_5.java new file mode 100644 index 0000000..2387252 --- /dev/null +++ b/src/seoliha/report2/Report2_5.java @@ -0,0 +1,16 @@ +package seoliha.report2; +//3-5. 아래는 변수 num의 값에 따라 '양수', '음수', '0'을 출력하는 코드이다. +//삼항연산자를 이용해서 빈칸에 알맞은 코드를 넣으시오. +//Hint : 삼항 연산자를 두 번 사용할 것! +public class Report2_5 { + public static void main(String[] args){ + int num = 10; + String plus = "양수"; + String minus = "음수"; + String zero = "0"; + String result = ""; + + result = num == 0 ? zero : (num > 0 ? plus : minus); + System.out.println(result); + } +} diff --git a/src/seoliha/report2/Report2_6.java b/src/seoliha/report2/Report2_6.java new file mode 100644 index 0000000..7f19ed3 --- /dev/null +++ b/src/seoliha/report2/Report2_6.java @@ -0,0 +1,22 @@ +package seoliha.report2; + +import java.io.PrintStream; +import java.math.RoundingMode; +import java.text.DecimalFormat; + +//3-6. 아래는 화씨(Fahrenheit)를 섭씨(Celcius)로 변환하는 코드이다. +//변환 공식이 'C = 5/9*(F-32)'라고 할 때, 빈 칸에 알맞은 코드를 넣으시오. +// 단, 변환값은 소수점 셋째자리에서 반올림하며, Math.round() 함수를 사용하지 않고 처리할 것! +public class Report2_6 { + public static void main(String[] args){ + int fahrenheit = 100; + float celcius = (float)5/9*(fahrenheit - 32); + + DecimalFormat floatcel = new DecimalFormat("#.##"); + floatcel.setRoundingMode(RoundingMode.HALF_UP); + celcius = Float.parseFloat(floatcel.format(celcius)); + + System.out.println("Fahrenheit:" + fahrenheit); + System.out.println("Celcius:" + celcius); + } +} 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 5a371e69dbbdce28617d82817d307ad7a559e670 Mon Sep 17 00:00:00 2001 From: LIHA Date: Mon, 23 Jan 2023 03:45:11 +0900 Subject: [PATCH 2/8] =?UTF-8?q?feat:=20JAVA=202=EC=9D=BC=EC=B0=A8=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/seoliha/report3/Login_Flowchart.png | Bin 0 -> 18573 bytes src/seoliha/report3/Report3_1 | 34 ++++++++++++++++++++++++ src/seoliha/report3/Report3_10.java | 27 +++++++++++++++++++ src/seoliha/report3/Report3_2.java | 17 ++++++++++++ src/seoliha/report3/Report3_3.java | 17 ++++++++++++ src/seoliha/report3/Report3_4.java | 23 ++++++++++++++++ src/seoliha/report3/Report3_5.java | 16 +++++++++++ src/seoliha/report3/Report3_6.java | 15 +++++++++++ src/seoliha/report3/Report3_7.java | 15 +++++++++++ src/seoliha/report3/Report3_8.java | 8 ++++++ src/seoliha/report3/Report3_9.java | 19 +++++++++++++ src/seoliha/report4/Report4_1 | 7 +++++ src/seoliha/report4/Report4_3.java | 13 +++++++++ src/seoliha/report4/Report4_4.java | 26 ++++++++++++++++++ src/seoliha/report4/Report4_5.java | 29 ++++++++++++++++++++ src/seoliha/report4/Report4_6.java | 33 +++++++++++++++++++++++ 16 files changed, 299 insertions(+) create mode 100644 src/seoliha/report3/Login_Flowchart.png create mode 100644 src/seoliha/report3/Report3_1 create mode 100644 src/seoliha/report3/Report3_10.java create mode 100644 src/seoliha/report3/Report3_2.java create mode 100644 src/seoliha/report3/Report3_3.java create mode 100644 src/seoliha/report3/Report3_4.java create mode 100644 src/seoliha/report3/Report3_5.java create mode 100644 src/seoliha/report3/Report3_6.java create mode 100644 src/seoliha/report3/Report3_7.java create mode 100644 src/seoliha/report3/Report3_8.java create mode 100644 src/seoliha/report3/Report3_9.java create mode 100644 src/seoliha/report4/Report4_1 create mode 100644 src/seoliha/report4/Report4_3.java create mode 100644 src/seoliha/report4/Report4_4.java create mode 100644 src/seoliha/report4/Report4_5.java create mode 100644 src/seoliha/report4/Report4_6.java diff --git a/src/seoliha/report3/Login_Flowchart.png b/src/seoliha/report3/Login_Flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..5e2f3943b3ea579a4b6fb95a06d66b2bea84a71a GIT binary patch literal 18573 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 literal 0 HcmV?d00001 diff --git a/src/seoliha/report3/Report3_1 b/src/seoliha/report3/Report3_1 new file mode 100644 index 0000000..8f0d3f2 --- /dev/null +++ b/src/seoliha/report3/Report3_1 @@ -0,0 +1,34 @@ +//4-1. 다음의 문장들을 조건식으로 표현해보세요. + +//int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 + int x; + if (x >= 10 && x <= 20) { + } +//char형 변수 ch가 공백이나 탭이 아닐 때 true인 조건식 + char ch; + if (ch != ' ' && ch != '\t') { + } +//char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식 + char ch; + if (ch = 'x' || ch = 'X') { + } +//char형 변수 ch가 숫자('0'~'9')일 때 true인 조건식 + char ch; + if ('0' <= ch && ch <= '9') { + } +//char형 변수 ch가 영문자(대문자 또는 소문자)일 때 true인 조건식 + char ch; + if ((ch >= 'A' || ch <= 'Z') || (ch >= 'a' || ch <= 'z')) { + } +//int형 변수 year가 400으로 나눠떨어지거나 또는 4로 나눠떨어지고 100으로 나눠떨어지지 않을때 true인 조건식 + int year; + if((year%400 = 0 || year%4 =0) && (year%100 !=0)){ + } +//boolean형 변수 powerOn이 false일 때 true인 조건식 + boolean powerOn; + if(powerOn = false){ + } +//문자열 참조변수 str이 "yes"일 때 true인 조건식 + String str; + if(str == "yes"){ + } \ No newline at end of file diff --git a/src/seoliha/report3/Report3_10.java b/src/seoliha/report3/Report3_10.java new file mode 100644 index 0000000..f3482ec --- /dev/null +++ b/src/seoliha/report3/Report3_10.java @@ -0,0 +1,27 @@ +package seoliha.report3; +//4-10. 다음은 숫자맞추기 게임을 작성한 것이다. 1과 100사이의 값을 반복적으로 입력해서 +//컴퓨터가 생각한 값을 맞추면 게임이 끝난다. +//사용자가 값을 입력하면, 컴퓨터는 자신이 생각한 값과 비교해서 결과를 알려준다. +//사용자가 컴퓨터가 생각한 숫자를 맞추면 게임이 끝나고 몇 번 만에 숫자를 맞췄는지 알려준다. +public class Report3_10 { + 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("예상한 값이 맞았습니다!"); + break; + } else { + System.out.println("예상과 달랐습니다! 다시 입력합시다."); + } + } while(true); //무한반복문 + } // end of main +} diff --git a/src/seoliha/report3/Report3_2.java b/src/seoliha/report3/Report3_2.java new file mode 100644 index 0000000..8928eea --- /dev/null +++ b/src/seoliha/report3/Report3_2.java @@ -0,0 +1,17 @@ +package seoliha.report3; + +//4-2. 1부터 20까지의 정수중에서 2 또는 3의 배수가 아닌 수의 총합을 구하세요. +public class Report3_2 { + public static void main(String[] args) { + int sum = 0; + int i; + for (i = 1; i < 21; i++) { + if (i % 2 != 0 && i % 3 != 0) { + { + sum += i; + } + } + } + System.out.println("sum=" + sum); + } +} diff --git a/src/seoliha/report3/Report3_3.java b/src/seoliha/report3/Report3_3.java new file mode 100644 index 0000000..bda27a4 --- /dev/null +++ b/src/seoliha/report3/Report3_3.java @@ -0,0 +1,17 @@ +package seoliha.report3; + +//4-3. 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하세요. +public class Report3_3 { + public static void main(String[] args) { + int sum = 0; + int totalSum = 0; + int i; + for (i = 0; i < 11; i++) { + sum += i; + totalSum += sum; + + System.out.println(sum); + } + System.out.println("totalSum="+totalSum); + } +} diff --git a/src/seoliha/report3/Report3_4.java b/src/seoliha/report3/Report3_4.java new file mode 100644 index 0000000..96e19ec --- /dev/null +++ b/src/seoliha/report3/Report3_4.java @@ -0,0 +1,23 @@ +package seoliha.report3; +//4-4. 1+(-2)+3+(-4)+...과 같은 식으로 계속 더해나갔을 때, +//몇까지 더해야 총합이 100 이상이 되는지 구하세요. +public class Report3_4 { + public static void main(String[] args) { + int sum = 0; // 총합을 저장할 변수 + int s = 1; // 값의 부호를 바꿔주는데 사용할 변수 + int num = 0; + + while(sum<100){ + num++; + if(num%2 != 0) { + sum += num; + } + else if(num%2 ==0){ + sum += -1 * s * num; + } + + System.out.println("num=" + num); + System.out.println("sum=" + sum); + } + } +} diff --git a/src/seoliha/report3/Report3_5.java b/src/seoliha/report3/Report3_5.java new file mode 100644 index 0000000..464b0d9 --- /dev/null +++ b/src/seoliha/report3/Report3_5.java @@ -0,0 +1,16 @@ +package seoliha.report3; +//4-5. 다음의 for문을 while문으로 변경하세요. +public class Report3_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++; + } + } +} diff --git a/src/seoliha/report3/Report3_6.java b/src/seoliha/report3/Report3_6.java new file mode 100644 index 0000000..aa0a06f --- /dev/null +++ b/src/seoliha/report3/Report3_6.java @@ -0,0 +1,15 @@ +package seoliha.report3; +//4-6. 두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성하세요. +public class Report3_6 { + public static void main(String[] args) { + int i, j; + for(i =1; i < 7; i++){ + for (j=1; j<7;j++){ + int plus = i + j; + if (plus == 6) { + System.out.println("합이 6이 되는 i와 j값은 i= " + i + ", j= " + j); + } + } + } + } +} diff --git a/src/seoliha/report3/Report3_7.java b/src/seoliha/report3/Report3_7.java new file mode 100644 index 0000000..27a43ac --- /dev/null +++ b/src/seoliha/report3/Report3_7.java @@ -0,0 +1,15 @@ +package seoliha.report3; +//4-7. 숫자로 이루어진 문자열 str이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하세요. +//만일 문자열이 "12345"라면, ‘1+2+3+4+5’의 결과인 15를 출력이 출력되어야 합니다. +public class Report3_7 { + public static void main(String[] args) { + String str = "12345"; + int sum = 0; + + for (int i = 0; i < str.length(); i++) { + sum += str.charAt(i) - '0'; + } + + System.out.println("sum=" + sum); + } +} diff --git a/src/seoliha/report3/Report3_8.java b/src/seoliha/report3/Report3_8.java new file mode 100644 index 0000000..7ed2b65 --- /dev/null +++ b/src/seoliha/report3/Report3_8.java @@ -0,0 +1,8 @@ +package seoliha.report3; +//4-8. Math.random()을 이용해서 1부터 6 사이의 임의의 정수를 변수 value에 저장하는 코드를 완성하세요. +public class Report3_8 { + public static void main(String[] args){ + int value = (int)(Math.random()*6) + 1; + System.out.println("value:"+value); + } +} diff --git a/src/seoliha/report3/Report3_9.java b/src/seoliha/report3/Report3_9.java new file mode 100644 index 0000000..c80045f --- /dev/null +++ b/src/seoliha/report3/Report3_9.java @@ -0,0 +1,19 @@ +package seoliha.report3; + +//4-9. int 타입의 변수 num이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하세요. +//만일 변수 num의 값이 12345라면, ‘1+2+3+4+5’의 결과인 15를 출력하세요. +//문자열로 변환하지 말고 숫자로만 처리하세요. +public class Report3_9 { + public static void main(String[] args) { + int num = 12345; + int sum = 0; + + int i; + + for (i = 0; i < 5; i++) { + sum += num % 10; + num = num / 10; + System.out.println("sum=" + sum); + } + } +} diff --git a/src/seoliha/report4/Report4_1 b/src/seoliha/report4/Report4_1 new file mode 100644 index 0000000..178427d --- /dev/null +++ b/src/seoliha/report4/Report4_1 @@ -0,0 +1,7 @@ +//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][]; \ No newline at end of file diff --git a/src/seoliha/report4/Report4_3.java b/src/seoliha/report4/Report4_3.java new file mode 100644 index 0000000..da40d6a --- /dev/null +++ b/src/seoliha/report4/Report4_3.java @@ -0,0 +1,13 @@ +package seoliha.report4; +//5-3. 배열 arr에 담긴 모든 값을 더하는 프로그램을 완성하세요. +public class Report4_3 { + public static void main(String[] args){ + int[] arr = {10, 20, 30, 40, 50}; + int sum = 0; + int i; + for (i = 0; i < arr.length ; i++) { + sum += arr[i]; + } + System.out.println(sum); + } +} diff --git a/src/seoliha/report4/Report4_4.java b/src/seoliha/report4/Report4_4.java new file mode 100644 index 0000000..8396431 --- /dev/null +++ b/src/seoliha/report4/Report4_4.java @@ -0,0 +1,26 @@ +package seoliha.report4; +//5-4. 2차원 배열 arr에 담긴 모든 총합과 평균을 구하는 프로그램을 완성하세요. +public class Report4_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 i; + for (i=0; i< arr.length; i++){ + int j; + for(j=0; j< arr[0].length; j++){ + total += arr[i][j]; + float f = total; + average = f / (arr.length * arr[0].length); + } + } + System.out.println("total=" + total); + System.out.println("average=" + average); + } +} diff --git a/src/seoliha/report4/Report4_5.java b/src/seoliha/report4/Report4_5.java new file mode 100644 index 0000000..21ebcb1 --- /dev/null +++ b/src/seoliha/report4/Report4_5.java @@ -0,0 +1,29 @@ +package seoliha.report4; +//5-5. 다음은 1과 9 사이의 중복되지 않은 숫자로 이루어진 3자리 숫자를 만들어내는 프로그램이다. +//코드를 완성하세요. 다만 Math.random()을 사용했기 때문에 실행 결과 예시와 다를 수 있습니다. +public class Report4_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; + ballArr[i] = j; + System.out.println(j); + + if ((i < ball3.length) && (ballArr[i] == j)) { + tmp = ballArr[i]; + ballArr[i] = j; + j = tmp; + } + } + // 배열 ballArr의 앞에서 3개의 수를 배열 ball3로 복사한다 + for (int i = 0; i < ball3.length; i++) { + ball3[i] = ballArr[i]; + System.out.print(ball3[i]); + } + }//end of main + +} diff --git a/src/seoliha/report4/Report4_6.java b/src/seoliha/report4/Report4_6.java new file mode 100644 index 0000000..ab99611 --- /dev/null +++ b/src/seoliha/report4/Report4_6.java @@ -0,0 +1,33 @@ +package seoliha.report4; +//5-6. 단어의 글자위치를 섞어서 보여주고 원래의 단어를 맞추는 예제이다. +//실행결과와 같이 동작하도록 빈 칸을 채우세요. +import java.util.Scanner; +public class Report4_6 { + 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++) { + j = (int) (Math.random() * question.length); + char tmp = 0; + 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 + +} From 62f933597e30e9bd7d8bf39db1674a496d1b6b09 Mon Sep 17 00:00:00 2001 From: LIHA Date: Mon, 23 Jan 2023 03:46:30 +0900 Subject: [PATCH 3/8] =?UTF-8?q?feat:=20JAVA=202=EC=9D=BC=EC=B0=A8=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/seoliha/report4/Report4_2 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/seoliha/report4/Report4_2 diff --git a/src/seoliha/report4/Report4_2 b/src/seoliha/report4/Report4_2 new file mode 100644 index 0000000..58ff2fc --- /dev/null +++ b/src/seoliha/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} +}; + +// arr[3].length = 2 \ No newline at end of file From 2132bef507e2465f309f83174aa763c0506e951b Mon Sep 17 00:00:00 2001 From: LIHA Date: Mon, 23 Jan 2023 03:47:08 +0900 Subject: [PATCH 4/8] =?UTF-8?q?feat:=20JAVA=201=EC=9D=BC=EC=B0=A8=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/choiwonbin/report1/Report1_2 | 2 +- src/seoliha/report2/Report2_6.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/choiwonbin/report1/Report1_2 b/src/choiwonbin/report1/Report1_2 index f4e5811..9410ac7 100644 --- a/src/choiwonbin/report1/Report1_2 +++ b/src/choiwonbin/report1/Report1_2 @@ -1,3 +1,3 @@ -2-7번 번 문제 +2-7번 문제 정답 : \ No newline at end of file diff --git a/src/seoliha/report2/Report2_6.java b/src/seoliha/report2/Report2_6.java index 7f19ed3..b6e1491 100644 --- a/src/seoliha/report2/Report2_6.java +++ b/src/seoliha/report2/Report2_6.java @@ -1,6 +1,4 @@ package seoliha.report2; - -import java.io.PrintStream; import java.math.RoundingMode; import java.text.DecimalFormat; From 8cf72543c3d69d763521d58380e1810613fb9d02 Mon Sep 17 00:00:00 2001 From: LIHA <122168823+liha-engineer@users.noreply.github.com> Date: Mon, 23 Jan 2023 22:31:42 +0900 Subject: [PATCH 5/8] =?UTF-8?q?Fix=20:=20.idea=20dir=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 -------- .idea/misc.xml | 6 ------ .idea/modules.xml | 8 -------- .idea/vcs.xml | 6 ------ 4 files changed, 28 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# 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 deleted file mode 100644 index 07115cd..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 0b0b192..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From e9f47e679ba78b015f102128c7af9b47df07c27b Mon Sep 17 00:00:00 2001 From: LIHA <122168823+liha-engineer@users.noreply.github.com> Date: Mon, 23 Jan 2023 22:49:56 +0900 Subject: [PATCH 6/8] =?UTF-8?q?feat:=20.iml=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hanghae-java-study-12.iml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 hanghae-java-study-12.iml diff --git a/hanghae-java-study-12.iml b/hanghae-java-study-12.iml deleted file mode 100644 index c90834f..0000000 --- a/hanghae-java-study-12.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file From 7cc0f85ef90c2fc6208ea5981a3532e46f7806b9 Mon Sep 17 00:00:00 2001 From: LIHA Date: Thu, 26 Jan 2023 03:05:01 +0900 Subject: [PATCH 7/8] =?UTF-8?q?feat:=20JAVA=203=EC=9D=BC=EC=B0=A8=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/seoliha/report5/Report5_1 | 12 ++++++++ src/seoliha/report5/Report5_2.java | 38 ++++++++++++++++++++++++ src/seoliha/report5/Report5_3.java | 44 ++++++++++++++++++++++++++++ src/seoliha/report5/Report5_4.java | 19 ++++++++++++ src/seoliha/report5/Report5_5.java | 29 +++++++++++++++++++ src/seoliha/report6/Report6_1 | 46 ++++++++++++++++++++++++++++++ src/seoliha/report6/Report6_2 | 14 +++++++++ src/seoliha/report6/Report6_3.java | 19 ++++++++++++ 8 files changed, 221 insertions(+) create mode 100644 src/seoliha/report5/Report5_1 create mode 100644 src/seoliha/report5/Report5_2.java create mode 100644 src/seoliha/report5/Report5_3.java create mode 100644 src/seoliha/report5/Report5_4.java create mode 100644 src/seoliha/report5/Report5_5.java create mode 100644 src/seoliha/report6/Report6_1 create mode 100644 src/seoliha/report6/Report6_2 create mode 100644 src/seoliha/report6/Report6_3.java diff --git a/src/seoliha/report5/Report5_1 b/src/seoliha/report5/Report5_1 new file mode 100644 index 0000000..48592cd --- /dev/null +++ b/src/seoliha/report5/Report5_1 @@ -0,0 +1,12 @@ +//6-1. 다음과 같은 멤버 변수를 갖는 Student 클래스를 정의하세요. +//타입 : String, 변수명 : name, 설명 : 학생 이름 +//타입 : int, 변수명 : ban, 설명 : 반 +//타입 : int, 변수명 : no, 설명 : 번호 +//타입 : int, 변수명 : kor, 설명 : 국어 점수 +//타입 : int, 변수명 : eng, 설명 : 영어 점수 +//타입 : int, 변수명 : math, 설명 : 수학 점수 + +class Student { + String name; + int ban, no, kor, eng, math; +} \ No newline at end of file diff --git a/src/seoliha/report5/Report5_2.java b/src/seoliha/report5/Report5_2.java new file mode 100644 index 0000000..acb5dd6 --- /dev/null +++ b/src/seoliha/report5/Report5_2.java @@ -0,0 +1,38 @@ +package seoliha.report5; + +//6-2. 6-1에서 정의한 Student 클래스에 생성자와 info()를 추가해서 실행결과와 같은 결과를 얻도록 하세요. +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); + }// 예상 결과 : 홍길동, 1, 1, 100, 60, 76, 236, 78.7 +} + +class Student { + String name; + int ban, no, kor, eng, math; + + 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; + } + + int total() { + return kor + eng + math; + } + + float avg() { + return Math.round((total() / 3f) * 10) / 10f; + } + + String info() { + return name + ", " + ban + ", " + no + ", " + kor + ", " + eng + ", " + math + ", " + total() + ", " + avg(); + } + +} diff --git a/src/seoliha/report5/Report5_3.java b/src/seoliha/report5/Report5_3.java new file mode 100644 index 0000000..edd5d42 --- /dev/null +++ b/src/seoliha/report5/Report5_3.java @@ -0,0 +1,44 @@ +package seoliha.report5; +//6-3. 연습문제 6-1에서 정의한 Student 클래스에 다음과 같이 정의된 두 개의 메서드를 추가하세요. +//1. 메서드명 : getTotal +//기능 : 국어(kor), 영어(eng), 수학(math)의 점수를 모두 더해서 반환한다. +//반환타입 : int +//매개변수 : 없음 +//2. 메서드명 : getAverage +//기능 : 총점(국어점수+영어점수+수학점수)을 과목수로 나눈 평균을 구한다. +//소수점 둘째자리에서 반올림할 것. +//반환타입 : float +//매개변수 : 없음 +public class Report5_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 +} + +class Student { + String name; + int ban, no, kor, eng, math; + + public Student() { + } + + int getTotal() { + return kor + eng + math; + } + + float getAverage() { + return Math.round((getTotal() / 3f)*10)/10f; + } + String info() { + return name + ", " + ban + ", " + no + ", " +kor + ", " +eng + ", " +math + ", " +getTotal() + ", " +getAverage(); + } +} \ No newline at end of file diff --git a/src/seoliha/report5/Report5_4.java b/src/seoliha/report5/Report5_4.java new file mode 100644 index 0000000..2799e27 --- /dev/null +++ b/src/seoliha/report5/Report5_4.java @@ -0,0 +1,19 @@ +package seoliha.report5; +//6-5. 다음의 코드에 정의된 변수들을 종류별(클래스 변수,인스턴스 변수, 지역변수)로 구분해서 적으세요. +public class Report5_4 { + public static void main(String args[]) { + PlayingCard card = new PlayingCard(1,1); + } + } + +class PlayingCard { + int kind; // 인스턴스 변수 + int num; // 인스턴스 변수 + static int width; // 클래스 변수 + static int height; // 클래스 변수 + + PlayingCard(int k, int n) { + kind = k; // 지역 변수 + num = n; // 지역 변수 + } +} \ No newline at end of file diff --git a/src/seoliha/report5/Report5_5.java b/src/seoliha/report5/Report5_5.java new file mode 100644 index 0000000..7d5bce9 --- /dev/null +++ b/src/seoliha/report5/Report5_5.java @@ -0,0 +1,29 @@ +package seoliha.report5; +//6-7. 다음은 컴퓨터 게임의 병사(marine)를 클래스로 정의한 것이다. +//이 클래스의 멤버 중에 static을 붙여야 하는 것은 어떤 것들이고 그 이유는 무엇인가? +//(단, 모든 병사의 공격력과 방어력은 같아야 한다.) + +public class Report5_5 { +} +class Marine { + int x=0, y=0; //Marine의 위치좌표 (x,y) + int hp = 60; //현재 체력 + int weapon = 6; //공격력 => static 붙여야 함. + int armor = 0; //방어력 => static 붙여야 함. + // static 붙여야 하는 이유 : 클래스 변수(cv)는 인스턴스 변수(iv)와 달리, + // 어떤 상황에도 바뀌면 안되는 값이라서 고정해야 할때 static을 붙여 선언한다. + // 모든 객체가 메모리를 공유하기 때문에 어디서나 접근해서 사용할 수 있으며, + // GC가 청소해버리면 안되기 때문에 static 영역에 넣어야 해서 static을 붙여 선언하는 것. + + void weaponUp() { + weapon++; + } + void armorUp() { + armor++; + } + void move(int x, int y) { + this.x = x; + this.y = y; + } +} + diff --git a/src/seoliha/report6/Report6_1 b/src/seoliha/report6/Report6_1 new file mode 100644 index 0000000..224ffc4 --- /dev/null +++ b/src/seoliha/report6/Report6_1 @@ -0,0 +1,46 @@ +6-8. 다음 중 생성자에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 모든 생성자의 이름은 클래스의 이름과 동일해야한다. +b. 생성자는 객체를 생성하기 위한 것이다. // 옳지 않음. 초기화하기 위한 것. +c. 클래스에는 생성자가 반드시 하나 이상 있어야 한다. // 옳지 않음. 없으면 컴파일러가 기본 생성자 만들어줌. +d. 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다. +e. 생성자는 오버로딩 할 수 없다. // 옳지 않음. 오버로딩 할 수 있음. + +6-9. 다음 중 this에 대한 설명으로 맞지 않은 것은? (모두 고르시오) +a. 객체 자신을 가리키는 참조변수이다. +b. 클래스 내에서라면 어디서든 사용할 수 있다. +c. 지역변수와 인스턴스변수를 구별할 때 사용한다. +d. 클래스 메서드 내에서는 사용할 수 없다. // 옳지 않다. 클래스 메서드 내에서 사용하는 것임. + +6-10. 다음 중 오버로딩이 성립하기 위한 조건이 아닌 것은? (모두 고르시오) +a. 메서드의 이름이 같아야 한다. +b. 매개변수의 개수나 타입이 달라야 한다. +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); } + +6-12. 다음 중 초기화에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 멤버변수는 자동 초기화되므로 초기화하지 않고도 값을 참고할 수 있다. +b. 지역변수는 사용하기 전에 반드시 초기화해야 한다. +c. 초기화 블럭보다 생성자가 먼저 수행된다. //옳지 않다. 자동초기화 -> 명시적 -> 초기화블럭 -> 생성자 순이다 +d. 명시적 초기화를 제일 우선적으로 고려해야 한다. +e. 클래스변수보다 인스턴스변수가 먼저 초기화된다. // 옳지 않다. 클래스 변수가 먼저 초기화 된다. + +6-13. 다음 중 인스턴스변수의 초기화 순서가 올바른 것은? // a +a. 기본값-명시적초기화-초기화블럭-생성자 // => 정답 +b. 기본값-명시적초기화-생성자-초기화블럭 +c. 기본값-초기화블럭-명시적초기화-생성자 +d. 기본값-초기화블럭-생성자-명시적초기화 + +6-14. 다음 중 지역변수에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 자동 초기화되므로 별도의 초기화가 필요없다. // 옳지 않다. 수동초기화 해야 함. +b. 지역변수가 선언된 메서드가 종료되면 지역변수도 함께 소멸된다. +c. 메서드의 매개변수로 선언된 변수도 지역변수이다. +d. 클래스변수나 인스턴스변수보다 메모리 부담이 적다. +e. 힙(heap)영역에 생성되며 가비지 컬렉터에 의해 소멸된다. \ No newline at end of file diff --git a/src/seoliha/report6/Report6_2 b/src/seoliha/report6/Report6_2 new file mode 100644 index 0000000..13081bb --- /dev/null +++ b/src/seoliha/report6/Report6_2 @@ -0,0 +1,14 @@ +| | +| println | +| method1 | +| method2 | +| main | +ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ + +6-15. 호출스택이 다음과 같은 상황일 때 옳지 않은 설명은? (모두 고르시오) +a. 제일 먼저 호출스택에 저장된 것은 main메서드이다. +b. println메서드를 제외한 나머지 메서드들은 모두 종료된 상태이다. +c. method2메서드를 호출한 것은 main메서드이다. +d. println메서드가 종료되면 method1메서드가 수행을 재개한다. +e. main-method2-method1-println의 순서로 호출되었다. +f. 현재 실행중인 메서드는 println뿐이다. //옳지 않다. 스택에 올라간 모든 메서드들은 다 실행중. \ No newline at end of file diff --git a/src/seoliha/report6/Report6_3.java b/src/seoliha/report6/Report6_3.java new file mode 100644 index 0000000..2bcf3f5 --- /dev/null +++ b/src/seoliha/report6/Report6_3.java @@ -0,0 +1,19 @@ +package seoliha.report6; +//6-16. 다음 코드의 실행 결과를 예측하여 적어주세요. +class Exercise6_16 { + public static void change(String str) { + str += "456"; + } +} + +public class Report6_3 { + public static void main(String[] args) { + String str = "ABC123"; + System.out.println(str); + change(str); + System.out.println("After change:" + str); + } +} +// 이 코드는 change 메서드의 호출에 문제가 있어서 실행되지 않습니다. +// static이 붙은 변수는 객체없이 사용할 수는 있으나, (클래스 이름).(메서드 이름) 형태로 사용해야 합니다. +// 하여 메인메소드 안을 Exercise6_16.change(str); 로 바꾼다면 실행 가능합니다. From 2be64fae1c749908ae3867beb11be0fbd6349536 Mon Sep 17 00:00:00 2001 From: LIHA Date: Thu, 26 Jan 2023 03:11:09 +0900 Subject: [PATCH 8/8] =?UTF-8?q?feat:=20JAVA=203=EC=9D=BC=EC=B0=A8=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C=20=EC=88=98=EC=A0=95=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/seoliha/report7/Report7_1.java | 32 ++++++++++++++++++ src/seoliha/report7/Report7_2.java | 30 +++++++++++++++++ src/seoliha/report7/Report7_3.java | 53 ++++++++++++++++++++++++++++++ src/seoliha/report7/Report7_4.java | 36 ++++++++++++++++++++ src/seoliha/report7/Report7_5.java | 21 ++++++++++++ 5 files changed, 172 insertions(+) create mode 100644 src/seoliha/report7/Report7_1.java create mode 100644 src/seoliha/report7/Report7_2.java create mode 100644 src/seoliha/report7/Report7_3.java create mode 100644 src/seoliha/report7/Report7_4.java create mode 100644 src/seoliha/report7/Report7_5.java diff --git a/src/seoliha/report7/Report7_1.java b/src/seoliha/report7/Report7_1.java new file mode 100644 index 0000000..532a15b --- /dev/null +++ b/src/seoliha/report7/Report7_1.java @@ -0,0 +1,32 @@ +package seoliha.report7; +//메서드명 : shuffle +// 기능 : +// 주어진 배열에 담긴 값의 위치를 바꾸는 작업을 반복하여 뒤섞이게 한다. +// 처리한 배열을 반환한다. +// 반환타입 : int[] +// 매개변수 : int[] arr - 정수값이 담긴 배열 +public class Report7_1 { +} +class Exercise6_17 { + + static int[] shuffle(int[] arr) { + for (int i = 0; i < arr.length; i++) { + for (int j = 0; j < arr.length-1; j++) { + if (arr[i] == arr[j]){ + int tmp; + tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = 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/seoliha/report7/Report7_2.java b/src/seoliha/report7/Report7_2.java new file mode 100644 index 0000000..ce35948 --- /dev/null +++ b/src/seoliha/report7/Report7_2.java @@ -0,0 +1,30 @@ +package seoliha.report7; + +//메서드명 : isNumber +// 기능: +// 주어진 문자열이 모두 숫자로만 이루어져있는지 확인한다. +// 모두 숫자로만 이루어져있으면 true를 반환하고, 그렇지 않으면 false를 반환한다. +// 만일 주어진 문자열이 null이거나 빈문자열 ""이라면 false를 반환한다. +// 반환타입 : boolean +// 매개변수 : String str - 검사할 문자열 +// (힌트) String클래스의 charAt(int i)메서드를 사용하면 문자열의 i번째 위치한 문자를 얻을 수 있다. +public class Report7_2 { +} + +class Exercise6_18 { + static boolean isNumber(String str) { + for (int i = 0; i < str.length(); i++) { + if (!(str.charAt(i) >= 48 && str.charAt(i) <= 57)) { + 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)); + } +} diff --git a/src/seoliha/report7/Report7_3.java b/src/seoliha/report7/Report7_3.java new file mode 100644 index 0000000..e2faaf2 --- /dev/null +++ b/src/seoliha/report7/Report7_3.java @@ -0,0 +1,53 @@ +package seoliha.report7; +// Tv클래스를 주어진 로직대로 완성하세요. 완성한 후에 실행해서 주어진 실행결과와 일치하는지 확인하세요. +public class Report7_3 { +} + +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로 바꾼다. + if(!isPowerOn){ + isPowerOn = true; + } + } + void volumeUp() { + // (2) volume의 값이 MAX_VOLUME보다 작을 때만 값을 1 증가시킨다. + } + void volumeDown() { + // (3) volume의 값이 MIN_VOLUME보다 클 때만 값을 1 감소시킨다. + } + void channelUp() { + // (4) channel의 값을 1 증가시킨다. + // 만일 channel이 MAX_CHANNEL이면 , channel의 값을 MIN_CHANNEL로 바꾼다. + } + void channelDown() { + // (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/seoliha/report7/Report7_4.java b/src/seoliha/report7/Report7_4.java new file mode 100644 index 0000000..e492d48 --- /dev/null +++ b/src/seoliha/report7/Report7_4.java @@ -0,0 +1,36 @@ +package seoliha.report7; +//메서드명 : max +// 기능: +// 주어진 int형 배열의 값 중에서 제일 큰 값을 반환한다. +// 만일 주어진 배열이 null이거나 크기가 0인 경우, -999999를 반환한다. +// 반환타입 : int +// 매개변수 : int[] arr - 최대값을 구할 배열 +import java.util.Arrays; + +public class Report7_4 { +} + +class Exercise6_20 { + static int max(int[] arr){ + int zeronull = -999999; + int max; + + if(arr == null || arr.length == 0) { + return zeronull; + } + Arrays.sort(arr); + max = arr[arr.length - 1]; + + 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 / 최대값: -999999 최대값: -999999 diff --git a/src/seoliha/report7/Report7_5.java b/src/seoliha/report7/Report7_5.java new file mode 100644 index 0000000..946212f --- /dev/null +++ b/src/seoliha/report7/Report7_5.java @@ -0,0 +1,21 @@ +package seoliha.report7; +//메서드명: abs +// 기능 : 주어진 값의 절대값을 반환한다. +// 반환타입 : int +// 매개변수 : int value +public class Report7_5 { +} + +class Exercise6_21 { + static int abs(int value) { + int abs = Math.abs(value); + return abs; + } + 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