diff --git a/src/kimNahyun/report1/Report1_1.txt b/src/kimNahyun/report1/Report1_1.txt new file mode 100644 index 0000000..6b642dd --- /dev/null +++ b/src/kimNahyun/report1/Report1_1.txt @@ -0,0 +1,3 @@ +2-4번 문제 + +정답 : 2,4,5 diff --git a/src/kimNahyun/report1/Report1_2 b/src/kimNahyun/report1/Report1_2 new file mode 100644 index 0000000..f2c9c40 --- /dev/null +++ b/src/kimNahyun/report1/Report1_2 @@ -0,0 +1,10 @@ +2-7번 문제 + +정답 : +12 +true +131 +51 +99 +Java +오류 \ No newline at end of file diff --git a/src/kimNahyun/report1/Report1_3.java b/src/kimNahyun/report1/Report1_3.java new file mode 100644 index 0000000..a723053 --- /dev/null +++ b/src/kimNahyun/report1/Report1_3.java @@ -0,0 +1,20 @@ +package kimNahyun.report1; + +// 2-8번 문제 +public class Report1_3 { + public static void main(String[] args){ + int x = 1; + int y = 2; + int z = 3; + + int tmp = 10; + tmp=x; + x=y; + y=z; + z=tmp; + + System.out.println("x="+x); + System.out.println("y="+y); + System.out.println("z="+z); + } +} diff --git a/src/kimNahyun/report2/Report2_1 b/src/kimNahyun/report2/Report2_1 new file mode 100644 index 0000000..fbfc77e --- /dev/null +++ b/src/kimNahyun/report2/Report2_1 @@ -0,0 +1,3 @@ +3-1번 문제 + +정답 : 4, 5 diff --git a/src/kimNahyun/report2/Report2_2 b/src/kimNahyun/report2/Report2_2 new file mode 100644 index 0000000..1e804b6 --- /dev/null +++ b/src/kimNahyun/report2/Report2_2 @@ -0,0 +1,46 @@ +3-2번 문제 + + +int x = 2; +int y = 5; +char c = 'A'; // 'A'의 문자코드는 65 + +System.out.println(y >= 5 || x < 0 && x > 2); +// true +// &&가 ||보다 우선순위가 높기 때문에 true||false로 true가 된다 + +System.out.println(y += 10 - x++); +//13 +//y=y+10과 같은 의미 따라서 15-2 = 13이 된다. 후위형이니 x는 이후 3이 됨 + +System.out.println(x += 2); +//5 +// x= x+2. 위에서 3으로 바뀌었으니 5가 됨 + +System.out.println(!('A' <= c && c <= 'Z')); +//false +//65=65 && 65<90으로 true지만 !에 의해 false로 바뀜 + +System.out.println('C' - c); +//2 +//67-65 + +System.out.println('5' - '0'); +//5 +//53-48 + +System.out.println(c + 1); +//66 +//65+1 + +System.out.println(++c); +//B +//전위형 + +System.out.println(c++); +//B +//후위형 + +System.out.println(c); +//C +//위에서 후위형으로 증가하였으니 결과적으론 C \ No newline at end of file diff --git a/src/kimNahyun/report2/Report2_3.java b/src/kimNahyun/report2/Report2_3.java new file mode 100644 index 0000000..2a6c339 --- /dev/null +++ b/src/kimNahyun/report2/Report2_3.java @@ -0,0 +1,9 @@ +package kimNahyun.report2; + +// 3-3번 문제 +public class Report2_3 { + public static void main(String[] args){ + int num = 456; + System.out.println(Math.round(num/100)*100); + } +} diff --git a/src/kimNahyun/report2/Report2_4.java b/src/kimNahyun/report2/Report2_4.java new file mode 100644 index 0000000..097ab57 --- /dev/null +++ b/src/kimNahyun/report2/Report2_4.java @@ -0,0 +1,12 @@ +package kimNahyun.report2; + +// 3-4번 문제 +public class Report2_4 { + public static void main(String[] args){ + int numOfApples = 123; // 사과의 개수 + int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수) + int numOfBucket = (Math.round((numOfApples/sizeOfBucket)+0.5f)); // 모든 사과를 담는데 필요한 바구니의 수 + + System.out.println("필요한 바구니의 수 :"+numOfBucket); + } +} diff --git a/src/kimNahyun/report2/Report2_5.java b/src/kimNahyun/report2/Report2_5.java new file mode 100644 index 0000000..98b13ca --- /dev/null +++ b/src/kimNahyun/report2/Report2_5.java @@ -0,0 +1,9 @@ +package kimNahyun.report2; + +// 3-5번 문제 +public class Report2_5 { + public static void main(String[] args){ + int num = 10; + System.out.println(num>0?"양수":num==0?"0":"음수"); + } +} diff --git a/src/kimNahyun/report2/Report2_6.java b/src/kimNahyun/report2/Report2_6.java new file mode 100644 index 0000000..5ad4dc2 --- /dev/null +++ b/src/kimNahyun/report2/Report2_6.java @@ -0,0 +1,12 @@ +package kimNahyun.report2; + +// 3-6번 문제 +public class Report2_6 { + public static void main(String[] args){ + int fahrenheit = 100; + float celcius = ((int)((5*(fahrenheit-32)/9.0f)*100.0f+0.5f)/100.0f); + + System.out.println("Fahrenheit:"+fahrenheit); + System.out.println("Celcius:"+celcius); + } +} diff --git a/src/kimNahyun/report3/Report3_1 b/src/kimNahyun/report3/Report3_1 new file mode 100644 index 0000000..aca361d --- /dev/null +++ b/src/kimNahyun/report3/Report3_1 @@ -0,0 +1,25 @@ +4-1번 문제 + +//int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 +10input) { + 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번입니다. diff --git a/src/kimNahyun/report3/Report3_2.java b/src/kimNahyun/report3/Report3_2.java new file mode 100644 index 0000000..07712ec --- /dev/null +++ b/src/kimNahyun/report3/Report3_2.java @@ -0,0 +1,16 @@ +package kimNahyun.report3; + +// 4-2번 문제 +public class Report3_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); + } +} diff --git a/src/kimNahyun/report3/Report3_3.java b/src/kimNahyun/report3/Report3_3.java new file mode 100644 index 0000000..3cb6cc8 --- /dev/null +++ b/src/kimNahyun/report3/Report3_3.java @@ -0,0 +1,17 @@ +package kimNahyun.report3; + +// 4-3번 문제 +public class Report3_3 { + public static void main(String[] args) { + int sum = 0; + int totalSum = 0; + + for(int i =1; i<=10;i++){ + sum += i; + totalSum += sum; + } + + System.out.println("totalSum="+totalSum); + // = 220 + } +} diff --git a/src/kimNahyun/report3/Report3_4.java b/src/kimNahyun/report3/Report3_4.java new file mode 100644 index 0000000..0bd7713 --- /dev/null +++ b/src/kimNahyun/report3/Report3_4.java @@ -0,0 +1,24 @@ +package kimNahyun.report3; + +// 4-4번 문제 +public class Report3_4 { + public static void main(String[] args) { + int sum = 0; // 총합을 저장할 변수 + int s = 1; // 값의 부호를 바꿔주는데 사용할 변수 + int num = 0; + + Loop1: for(num=1; ; num++){ + if(sum>=100){ + break Loop1; + } + if(num%2==0){ + sum +=(-num); + } else{ + sum += num; + } + } + + System.out.println("num="+num); + System.out.println("sum="+sum); + } +} diff --git a/src/kimNahyun/report3/Report3_5.java b/src/kimNahyun/report3/Report3_5.java new file mode 100644 index 0000000..0396cab --- /dev/null +++ b/src/kimNahyun/report3/Report3_5.java @@ -0,0 +1,26 @@ +package kimNahyun.report3; + +// 4-5번 문제 +public class Report3_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 + + public static void main(String[] args){ + int i=0; + int j=0; + while (i<=10){ + while (j<=i){ + System.out.print("*"); + j++; + } + j=0; + System.out.println(); + i++; + } + } +} diff --git a/src/kimNahyun/report3/Report3_6.java b/src/kimNahyun/report3/Report3_6.java new file mode 100644 index 0000000..22e3032 --- /dev/null +++ b/src/kimNahyun/report3/Report3_6.java @@ -0,0 +1,14 @@ +package kimNahyun.report3; + +// 4-6번 문제 +public class Report3_6 { + public static void main(String[] args) { + for(int i=1; i<=6; i++){ + for(int j=1; j<=6; j++){ + if(i+j ==6){ + System.out.println(i+","+j); + } + } + } + } +} diff --git a/src/kimNahyun/report3/Report3_7.java b/src/kimNahyun/report3/Report3_7.java new file mode 100644 index 0000000..7f68fea --- /dev/null +++ b/src/kimNahyun/report3/Report3_7.java @@ -0,0 +1,22 @@ +package kimNahyun.report3; + +//4-7번 문제 +public class Report3_7 { + public static void main(String[] args) { + String str = "12345"; + int sum = 0; + + int stri = Integer.parseInt(str); + + //sum = sum + str%10; + //sum = sum + (str/10)%10; + //sum = sum + ((str/10)/10)%10; + + for (int i = 0; i < str.length(); i++) { + sum += stri%10; + stri /=10; + } + + System.out.println("sum=" + sum); + } +}//예상 결과 : sum=15 diff --git a/src/kimNahyun/report3/Report3_8.java b/src/kimNahyun/report3/Report3_8.java new file mode 100644 index 0000000..bcf8ef7 --- /dev/null +++ b/src/kimNahyun/report3/Report3_8.java @@ -0,0 +1,9 @@ +package kimNahyun.report3; + +//4-8번 문제 +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/kimNahyun/report3/Report3_9.java b/src/kimNahyun/report3/Report3_9.java new file mode 100644 index 0000000..c2664e5 --- /dev/null +++ b/src/kimNahyun/report3/Report3_9.java @@ -0,0 +1,16 @@ +package kimNahyun.report3; + +// 4-9번 문제 +public class Report3_9 { + public static void main(String[] args) { + int num = 12345; + int sum = 0; + + while (num!=0){ + sum += (num%10); + num /= 10; + } + + System.out.println("sum="+sum); + } +}//예상 결과 : sum=15 diff --git "a/src/kimNahyun/report4/0119 \352\270\260\354\264\210\353\254\270\353\262\225 2\354\235\274\354\260\250\353\241\234\352\267\270\354\235\270 \355\235\220\353\246\204 Flowchart.drawio" "b/src/kimNahyun/report4/0119 \352\270\260\354\264\210\353\254\270\353\262\225 2\354\235\274\354\260\250\353\241\234\352\267\270\354\235\270 \355\235\220\353\246\204 Flowchart.drawio" new file mode 100644 index 0000000..986a752 --- /dev/null +++ "b/src/kimNahyun/report4/0119 \352\270\260\354\264\210\353\254\270\353\262\225 2\354\235\274\354\260\250\353\241\234\352\267\270\354\235\270 \355\235\220\353\246\204 Flowchart.drawio" @@ -0,0 +1 @@ +5Vlbj6M2FP41ftwRxkDIY2DYdtWLRppK7e7LygNOgkowNc6EzK/vMZg7mcnMkqRSXyL7+Pj2fZ/NOQ4i/q74SdBs+xuPWIJMIyoQuUemubAX8KsMR21w3MqwEXFUmXBreIxfmDYa2rqPI5b3HCXniYyzvjHkacpC2bNRIfih77bmSX/WjG7YyPAY0mRs/TOO5Layuuaitf/M4s22nhk7y6plR2tnvZN8SyN+6JhIgIgvOJdVaVf4LFHY1bhU/T6faG0WJlgqz+mwIL8Xzpfv9h/BS/Ht5VuRJsEvn+xqlGea7PWGH6WgQuoly2ONQy4F/7uBABbvbeUugSKGImwtU367YqNEcLdO+CHcwjB3uYTf78rnsI0le8xoqBwP4AY2PTkTkhUnd4UbrEBjjO+YFEdw0R1MW2/hWOtGw31o2cJY+2w7TDnaj2qBbJqhWwyhoGF8B6TOCFIUeGiF0dJHwQp5C+S5KPDR8l4VgDRo9UzkWii4Ry44+Oq4sDXdJ0CDAz/EexJQ2qhS6b3U3stlOaivqh6uLVY5KBgJcksjFMDNdOhOgZ4+5S32HYYVDTEI/1f6xJIHnscy5ik0PXEp+Q561A6rJN6oBsmzaRlkgocsz0+QLvg+jVhU96lOvHGHLahREeorwJlLHkZfHu6EPIhxRXksZpDHWBSvaGFAcwu/cYKgDqNzMOD0GbDtCQbMazKArTEFM113NE25pOrglHce1SclYWtFU8bjVDIRPAN0+YwIG/0rkFhjhBcTN2CD+uwImxMAjzVbadwq5V9KVVtgzkmNNxcfFAzkNifDLcXu1scFBgmQa5fDGmhlj7jtMjmiueGWpnuafEmzvXzPPWY6vVsMz0Xx4CtnLs88RIuLHaJx5DACmqXRSoVgUAsTmudx2D9H/asIoBDHv8pvgV1Xv3bb7ote7ditPTARw8aY0MZqLSwaBXcDxCGapGLD5Gs7taap6UBvTyBf2wRL4EJ47q9jig49w4O6JM443PUQOd+LkOle3fBvONApCdUDVUCMBirV0Wz7BwQzERfNJhjLMnuSuTPwjVXj3FI0BA+inuG39FzRkMHHG+Priqbe+mVEA9+MnmhMfGvVmLdVzeCGcD+smsFAw0Dj0qohs6umiGXn0wS1r9pPlVuxqMrx3bKocH07nnpTPuS/JB8yjD0+Kh9ybfmckR+8Tz7nSuFm1JmDHM34KHXDgezrUjd18KtEYs3LdbYUOv/sed3wqYreV+CAjawoGavbz8pXjKpzmcAT5Nk6R/FwUeYyBoKoTaXvn9HKL7MVG63cj+c4r0/m6hxoWfZeOWpOnRhV66+fhvT8gHSFjl7ETLlwxMI4L5+QLvb2R/pqs6be/tyJY4OH+p4v8z3xvLNQhFQMuP4IYYBANtmozxOuQouUp6zzhhCytAw5vHWcJAOfDh/DR7pdHEVqmjdSWEOfhDpvNeZhaBiI2njMkDNBELkYP+4EP8CJp88anBbvf8SPafT5IRPvCjPxA9X2v47qvm//MCLBvw== \ No newline at end of file diff --git a/src/kimNahyun/report4/Report4_1 b/src/kimNahyun/report4/Report4_1 new file mode 100644 index 0000000..cb35b6e --- /dev/null +++ b/src/kimNahyun/report4/Report4_1 @@ -0,0 +1,16 @@ +5-1번 문제 + +int[] arr[]; +int[] arr = {1,2,3,}; //생략 가능 +int[] arr = new int[5]; //길이가 5인 int형 배열 생성. 이 경우엔 임시로 null값이 들어가 있다. +int[] arr = new int[5]{1,2,3,4,5}; +int arr[5]; +int[] arr[] = new int[3][]; + + +잘못된 것 : + +int[] arr[]; // 바로 배열을 초기화해주지 않을거라면 따로 쓰지 못 한다. +int[] arr = new int[5]{1,2,3,4,5}; //배열 길이와 함께 사용 불가능 +int arr[5]; // int 뒤에 괄호 빠짐 +int[] arr[] = new int[3][]; // 빠짐 \ No newline at end of file diff --git a/src/kimNahyun/report4/Report4_2 b/src/kimNahyun/report4/Report4_2 new file mode 100644 index 0000000..1d902b2 --- /dev/null +++ b/src/kimNahyun/report4/Report4_2 @@ -0,0 +1,11 @@ +5-2번 문제 + +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 diff --git a/src/kimNahyun/report4/Report4_3.java b/src/kimNahyun/report4/Report4_3.java new file mode 100644 index 0000000..39b99b9 --- /dev/null +++ b/src/kimNahyun/report4/Report4_3.java @@ -0,0 +1,12 @@ +package kimNahyun.report4; +//5-3번 문제 +public class Report4_3 { + public static void main(String[] args){ + int[] arr = {10, 20, 30, 40, 50}; + int sum = 0; + for(int i=0; i", 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 +} diff --git a/src/kimNahyun/report5/Report5_1.java b/src/kimNahyun/report5/Report5_1.java new file mode 100644 index 0000000..016cc7e --- /dev/null +++ b/src/kimNahyun/report5/Report5_1.java @@ -0,0 +1,23 @@ +package kimNahyun.report5; + +//6-1번 문제 +public class Report5_1 { + +//타입 : 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; + } + +} diff --git a/src/kimNahyun/report5/Report5_2.java b/src/kimNahyun/report5/Report5_2.java new file mode 100644 index 0000000..f0f5635 --- /dev/null +++ b/src/kimNahyun/report5/Report5_2.java @@ -0,0 +1,65 @@ +package kimNahyun.report5; + +import java.util.Arrays; + +//6-2번 문제 +public class Report5_2 { + public static void main(String[] args){ + Student s = new Student("홍길동", 1, 1, 100, 60, 76); + + String str = s.info(); + System.out.println(str); + }// 예상 결과 : 홍길동, 1, 1, 100, 60, 76, 236, 78.7 +} + +class Student{ + + String name; + int ban; + int no; + int kor; + int eng; + int math; + + Student(){ + + } + + 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; + } + + String info(){ + String[] info = new String[8]; + + int total = kor+eng+math; + float av = Math.round(10*(float)(kor+eng+math)/3.0f)/10.0f; + + info[0] = this.name; + info[1] = ""+this.ban; + info[2] = ""+this.no; + info[3] = ""+this.kor; + info[4] = ""+this.eng; + info[5]= "" + this.math; + info[6] = ""+total; + info[7] = ""+av; + + String result = Arrays.toString(info); + return result; + } + + int getTotal(){ + int total = kor+eng+math; + return total; + } + + float getAverage(){ + float av = Math.round(10*(float)(kor+eng+math)/3.0f)/10.0f; + return av; + } +} \ No newline at end of file diff --git a/src/kimNahyun/report5/Report5_3.java b/src/kimNahyun/report5/Report5_3.java new file mode 100644 index 0000000..1a8234a --- /dev/null +++ b/src/kimNahyun/report5/Report5_3.java @@ -0,0 +1,20 @@ +package kimNahyun.report5; + +//6-3번 문제 +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 + + //6-2번 문제에서 추가함 +} \ No newline at end of file diff --git a/src/kimNahyun/report5/Report5_4.java b/src/kimNahyun/report5/Report5_4.java new file mode 100644 index 0000000..b1b846d --- /dev/null +++ b/src/kimNahyun/report5/Report5_4.java @@ -0,0 +1,19 @@ +package kimNahyun.report5; + +//6-5번 문제 +public class Report5_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/kimNahyun/report5/Report5_5.java b/src/kimNahyun/report5/Report5_5.java new file mode 100644 index 0000000..e755285 --- /dev/null +++ b/src/kimNahyun/report5/Report5_5.java @@ -0,0 +1,27 @@ +package kimNahyun.report5; + +//6-7번 문제 +//6-7. 다음은 컴퓨터 게임의 병사(marine)를 클래스로 정의한 것이다. +//이 클래스의 멤버 중에 static을 붙여야 하는 것은 어떤 것들이고 그 이유는 무엇인가? +//(단, 모든 병사의 공격력과 방어력은 같아야 한다.) +public class Report5_5 { +} + +class Marine { + int x=0, y=0; //Marine의 위치좌표 (x,y) + int hp = 60; //현재 체력 + static int weapon = 6; //공격력 // 여기에 static을 붙여야한다. 모든 병사와 공격력과 방어력을 공유하기 때문이다. + // 아래의 weaponUp()에서 사용중 + static int armor = 0; //방어력 // 여기에 static을 붙여야한다. 모든 병사와 공격력과 방어력을 공유하기 때문이다. + // 아래의 armorUp()에서 사용중 + void weaponUp() { + weapon++; + } + void armorUp() { + armor++; + } + void move(int x, int y) { + this.x = x; + this.y = y; + } +} \ No newline at end of file diff --git a/src/kimNahyun/report6/Report6_1 b/src/kimNahyun/report6/Report6_1 new file mode 100644 index 0000000..47d46e9 --- /dev/null +++ b/src/kimNahyun/report6/Report6_1 @@ -0,0 +1,9 @@ +6-8. 다음 중 생성자에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 모든 생성자의 이름은 클래스의 이름과 동일해야한다. +b. 생성자는 객체를 생성하기 위한 것이다. +c. 클래스에는 생성자가 반드시 하나 이상 있어야 한다. +d. 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다. +e. 생성자는 오버로딩 할 수 없다. + +정답 : e +생성자도 오버로딩이 가능하다 \ No newline at end of file diff --git a/src/kimNahyun/report6/Report6_2 b/src/kimNahyun/report6/Report6_2 new file mode 100644 index 0000000..5268906 --- /dev/null +++ b/src/kimNahyun/report6/Report6_2 @@ -0,0 +1,8 @@ +6-9. 다음 중 this에 대한 설명으로 맞지 않은 것은? (모두 고르시오) +a. 객체 자신을 가리키는 참조변수이다. +b. 클래스 내에서라면 어디서든 사용할 수 있다. +c. 지역변수와 인스턴스변수를 구별할 때 사용한다. +d. 클래스 메서드 내에서는 사용할 수 없다. + +정답 : b +static 메서드(클래스 메서드) 내에서는 인스턴스 멤버들을 사용할 수 없는 것처럼 'this'역시 사용할 수 없다. 왜냐면 static 메서드는 인스턴스를 생성하지 않고도 호출될 수 있으므로 static메서드가 호출된 시점에 인스턴스가 존재하지 않을 수도 있기 때문이다. \ No newline at end of file diff --git a/src/kimNahyun/report6/Report6_3 b/src/kimNahyun/report6/Report6_3 new file mode 100644 index 0000000..84a9519 --- /dev/null +++ b/src/kimNahyun/report6/Report6_3 @@ -0,0 +1,8 @@ +6-10. 다음 중 오버로딩이 성립하기 위한 조건이 아닌 것은? (모두 고르시오) +a. 메서드의 이름이 같아야 한다. +b. 매개변수의 개수나 타입이 달라야 한다. +c. 리턴타입이 달라야 한다. +d. 매개변수의 이름이 달라야 한다. + +정답 : c,d +메서드 이름이 같아야 하고 매개변수 개수 또는 타입이 다르기만 하면 된다. \ No newline at end of file diff --git a/src/kimNahyun/report6/Report6_4 b/src/kimNahyun/report6/Report6_4 new file mode 100644 index 0000000..e3be99a --- /dev/null +++ b/src/kimNahyun/report6/Report6_4 @@ -0,0 +1,10 @@ +6-11. 다음 중 아래의 add메서드를 올바르게 오버로딩 한 것은? (모두 고르시오) +> long add(int a, int b) { return a+b; } + +a. long add(int x, int y) { return x+y; } +b. long add(long a, long b) { return a+b; } +c. int add(byte a, byte b) { return a+b; } +d. int add(long a, int b) { return (int)(a+b); } + +정답 : b,c +d는 자료형이 매개변수보다 크기가 작기 때문에 \ No newline at end of file diff --git a/src/kimNahyun/report6/Report6_5 b/src/kimNahyun/report6/Report6_5 new file mode 100644 index 0000000..3cdd9b8 --- /dev/null +++ b/src/kimNahyun/report6/Report6_5 @@ -0,0 +1,10 @@ +6-12. 다음 중 초기화에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 멤버변수는 자동 초기화되므로 초기화하지 않고도 값을 참고할 수 있다. +b. 지역변수는 사용하기 전에 반드시 초기화해야 한다. +c. 초기화 블럭보다 생성자가 먼저 수행된다. +d. 명시적 초기화를 제일 우선적으로 고려해야 한다. +e. 클래스변수보다 인스턴스변수가 먼저 초기화된다 + +정답 : c, e +자동 초기화>명시적 초기화>초기화블럭>생성자 순으로 초기화 된다 +클래스 변수(cv)의 초기화 후에 인스턴스 변수(iv)가 초기화된다 \ No newline at end of file diff --git a/src/kimNahyun/report6/Report6_6 b/src/kimNahyun/report6/Report6_6 new file mode 100644 index 0000000..f1c7e24 --- /dev/null +++ b/src/kimNahyun/report6/Report6_6 @@ -0,0 +1,7 @@ +6-13. 다음 중 인스턴스변수의 초기화 순서가 올바른 것은? +a. 기본값-명시적초기화-초기화블럭-생성자 +b. 기본값-명시적초기화-생성자-초기화블럭 +c. 기본값-초기화블럭-명시적초기화-생성자 +d. 기본값-초기화블럭-생성자-명시적초기화 + +정답 : a diff --git a/src/kimNahyun/report6/Report6_7 b/src/kimNahyun/report6/Report6_7 new file mode 100644 index 0000000..2ff054f --- /dev/null +++ b/src/kimNahyun/report6/Report6_7 @@ -0,0 +1,11 @@ +6-14. 다음 중 지역변수에 대한 설명으로 옳지 않은 것은? (모두 고르시오) +a. 자동 초기화되므로 별도의 초기화가 필요없다. +b. 지역변수가 선언된 메서드가 종료되면 지역변수도 함께 소멸된다. +c. 메서드의 매개변수로 선언된 변수도 지역변수이다. +d. 클래스변수나 인스턴스변수보다 메모리 부담이 적다. +e. 힙(heap)영역에 생성되며 가비지 컬렉터에 의해 소멸된다. + +정답 : a,e + +지역변수는 static 영역에 저장된다. +heap에 저장되는 것은 참조형 데이터 타입을 갖는 객체나 배열 등 \ No newline at end of file diff --git a/src/kimNahyun/report6/Report6_8 b/src/kimNahyun/report6/Report6_8 new file mode 100644 index 0000000..4318639 --- /dev/null +++ b/src/kimNahyun/report6/Report6_8 @@ -0,0 +1,10 @@ +6-15. 호출스택이 다음과 같은 상황일 때 옳지 않은 설명은? (모두 고르시오) +a. 제일 먼저 호출스택에 저장된 것은 main메서드이다. +b. println메서드를 제외한 나머지 메서드들은 모두 종료된 상태이다. +c. method2메서드를 호출한 것은 main메서드이다. +d. println메서드가 종료되면 method1메서드가 수행을 재개한다. +e. main-method2-method1-println의 순서로 호출되었다. +f. 현재 실행중인 메서드는 println뿐이다. + +정답 : b +b : 종료된 것이 아니고 대기상태 diff --git a/src/kimNahyun/report6/Report6_9.java b/src/kimNahyun/report6/Report6_9.java new file mode 100644 index 0000000..ddb9f4b --- /dev/null +++ b/src/kimNahyun/report6/Report6_9.java @@ -0,0 +1,21 @@ +package kimNahyun.report6; + +public class Report6_9 { + 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 + +//맞았다~!! +// 지역변수 str만 바꾸고 저장은 안 되었기 때문에 456으로 바꾸고 싶으면 클래스를 하나 만들어서 참조형으로 바꿔야한다. \ No newline at end of file diff --git a/src/kimNahyun/report7/Report7_1.java b/src/kimNahyun/report7/Report7_1.java new file mode 100644 index 0000000..c1a5817 --- /dev/null +++ b/src/kimNahyun/report7/Report7_1.java @@ -0,0 +1,30 @@ +package kimNahyun.report7; + +// 6-17 번 문제 +import java.util.Arrays; +public class Report7_1 { + + + static int[] shuffle(int[] arr){ + + int[] result = arr.clone(); + //clone() 메소드는 자신을 복제하여 새로운 인스턴스를 생성하는 일을 한다. + + for(int i=0; i58){ + result = false; + } + } + return result; + } + public static void main(String[] args) { + String str = "123"; + System.out.println(str + " 는 숫자입니까? " + isNumber(str)); + str = "1234o"; + System.out.println(str + " 는 숫자입니까? " + isNumber(str)); + } +} + +//예상 결과 : 123는 숫자입니까? true, 1234o는 숫자입니까? false \ No newline at end of file diff --git a/src/kimNahyun/report7/Report7_3.java b/src/kimNahyun/report7/Report7_3.java new file mode 100644 index 0000000..5bb7788 --- /dev/null +++ b/src/kimNahyun/report7/Report7_3.java @@ -0,0 +1,64 @@ +package kimNahyun.report7; + +// 6-19 번 문제 + +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() { + if (isPowerOn == true){ isPowerOn = false;} + else if(isPowerOn == false){ isPowerOn = true;} + // (1) isPowerOn의 값이 true면 false로, false면 true로 바꾼다. + } + void volumeUp() { + if(volume < MAX_VOLUME){ + volume++; + } + // (2) volume의 값이 MAX_VOLUME보다 작을 때만 값을 1 증가시킨다. + } + void volumeDown() { + if(volume>MIN_VOLUME){ + volume--; + } + // (3) volume의 값이 MIN_VOLUME보다 클 때만 값을 1 감소시킨다. + } + void channelUp() { + channel++; + if(channel > MAX_CHANNEL){ + channel = MIN_CHANNEL; + } + // (4) channel의 값을 1 증가시킨다. + // 만일 channel이 MAX_CHANNEL이면 , channel의 값을 MIN_CHANNEL로 바꾼다. + } + void channelDown() { + + channel--; + if(channeltemp){ + temp = arr[i]; + } + } + + + return temp; + } + public static void main(String[] args) { + int[] data = {3,2,9,4,7}; + System.out.println(java.util.Arrays.toString(data)); + System.out.println("최대값 :"+max(data)); + System.out.println("최대값 :"+max(null)); + System.out.println("최대값 :"+max(new int[]{})); // 크기가 0인 배열 } + } +} +//예상 결과 : 최대값: 9 / 최대값: -99999 최대값: -999999 \ No newline at end of file diff --git a/src/kimNahyun/report7/Report7_5.java b/src/kimNahyun/report7/Report7_5.java new file mode 100644 index 0000000..4cbdc8d --- /dev/null +++ b/src/kimNahyun/report7/Report7_5.java @@ -0,0 +1,21 @@ +package kimNahyun.report7; + +// 6-21 번 문제 +public class Report7_5 { + + static int abs(int value){ + int result; + + result = Math.abs(value); + return result; + } + /* (1) 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 diff --git a/src/kimNahyun/report8/Report8_1.java b/src/kimNahyun/report8/Report8_1.java new file mode 100644 index 0000000..7f63dcb --- /dev/null +++ b/src/kimNahyun/report8/Report8_1.java @@ -0,0 +1,48 @@ +//package kimNahyun.report8; +//// 7-1 번 문제 +// +//class SutdaDeck { +// final int CARD_NUM = 20; +// SutdaCard[] cards = new SutdaCard[CARD_NUM]; +// +// SutdaDeck() { +// +// for(int i=0; i 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.prevChannel = this.channel; + this.channel = channel; + //이전 값을 prevChannel에 복사 저장하고 channel에는 바뀐 값을 넣음 + } + + public int getChannel() { + return channel; + } + + public void gotoPrevChannel(){ + setChannel(prevChannel); + //prevChannel에는 이전값이 들어있다. + } +} +public class Report8_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