티스토리 뷰
1. 아래의 결과 값은 false 출력이 된다. true 가 되도록 INum을짜시오.
INum[] ar1 = new INum[3];
INum[] ar2 = new INum[3];
ar1[0] = new INum(1); ar2[0] = new INum(1);
ar1[1] = new INum(2); ar2[1] = new INum(2);
ar1[2] = new INum(3); ar2[2] = new INum(3);
System.out.println(Arrays.equals(ar1, ar2));
상단 결과 값이 false라고 뜨는 이유는 ar1과 ar2의 형태가 동일해도 new를 사용하여 메모리에 올라가면 주소값이 달라지기 때문이다. 따라서 두 객체가 동일하다는 true 를 출력받기 위해서는 equals 함수를 overridingg하여 오버라이딩 된 값을 받으면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import java.util.Arrays;
class INum {
private int num;
public INum(int num) {
this.num = num;
}
@Override
public boolean equals(Object obj) {
if (this.num == ((INum) obj).num)
return true;
else
return false;
}
}
public class ArraysEquals {
public static void main(String[] args) {
INum[] ar1 = new INum[3];
INum[] ar2 = new INum[3];
ar1[0] = new INum(1);
ar2[0] = new INum(1);
ar1[1] = new INum(2);
ar2[1] = new INum(2);
ar1[2] = new INum(3);
ar2[2] = new INum(3);
System.out.println(Arrays.equals(ar1, ar2));
}
}
|
cs |
2. 아래에서 정렬이 이름 순(사전 순)으로 되게끔 하시오. Person 객체를 만드시오.
class ArrayObjSearch {
public static void main(String[] args) {
Person[] ar = new Person[3];
ar[0] = new Person("Lee", 29);
ar[1] = new Person("Goo", 15);
ar[2] = new Person("Soo", 37);
Arrays.sort(ar);
}
}
compareTo 비교할 때 사용
사전 순 정렬 a.k.a lexicographically
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import java.util.Arrays;
class Person implements Comparable {
private int age;
private String name;
public Person(String name, int age) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Object o) {
Person p = (Person) o;
return this.name.compareTo(p.name);
}
public String toString() {
return name + ": " + age;
}
}
public class ArraysName {
public static void main(String[] args) {
Person[] ar = new Person[3];
ar[0] = new Person("Lee", 29);
ar[1] = new Person("Goo", 15);
ar[2] = new Person("Soo", 37);
Arrays.sort(ar);
System.out.println(Arrays.toString(ar));
}
}
|
cs |
번외) 사전 역순 정렬 원하면
3. 위의 문제에서 이름 글자 수가 많은 순으로 정렬이 되게끔 person 객체를 만드시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import java.util.Arrays;
class Person implements Comparable {
private int age;
private String name;
public Person(String name, int age) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Object o) {
Person p = (Person) o;
return p.name.length() - this.name.length();
}
public String toString() {
return name + ": " + age;
}
}
public class ArraysName {
public static void main(String[] args) {
Person[] ar = new Person[3];
ar[0] = new Person("Lee11", 29);
ar[1] = new Person("Goo111", 15);
ar[2] = new Person("Soo1111", 37);
Arrays.sort(ar);
System.out.println(Arrays.toString(ar));
}
}
|
cs |
4. 아래의 문자열을 ":" 구분자로 하여, PM 08 45 를 차례로 출력하는 프로그램을 작성 하시오.
"PM:08:45"
ㄹㄴㅇㄹㄴㅇㄹ
5. 아래를 넓이 순서대로 출력하게끔 하시오.
Rectangle[] recArr = { new Rectangle(6, 6), new Rectangle(5, 5), new Rectangle(10, 10),
new Rectangle(12, 12), new Rectangle(11, 11) };
Arrays.sort(recArr);
for (Rectangle rec : recArr) {
System.out.println(rec.getArea());
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import java.util.Arrays;
class Rectangle implements Comparable {
private int x, y;
public Rectangle(int x, int y) {
this.x = x;
this.y = y;
}
public int getArea() {
return x * y;
}
@Override
public int compareTo(Object o) {
Rectangle rec = (Rectangle) o;
return rec.getArea() - this.getArea();
}
}
public class ArraysRecArea {
public static void main(String[] args) {
Rectangle[] recArr = { new Rectangle(6, 6), new Rectangle(5, 5), new Rectangle(10, 10),
new Rectangle(12, 12), new Rectangle(11, 11) };
Arrays.sort(recArr);
for (Rectangle rec : recArr) {
System.out.println(rec.getArea());
}
}
}
|
cs |
6. html 에서 아래의 태그를 설명하시오.
-<br>
-<li>
-<ol>
-<ul>
br태그는 다음 줄로 가는 행바꿈 태그를 의미한다.
블로그나 인터넷 카펫를 예로 들자면 우측 또는 좌측에 게시판이 존재한다.
html에서는 이것을 리스트라고 부르며 리스트를 구성할 때 순서를 나타내는 방법에는 여러가지가 있다.
숫자로 진행되는 리스트를 제공하고 싶을 떄는 ol태그를 사용한다.
1
2
3
4
5
6
7
8
|
<ol type='i'>
<li>서울</li>
<li>경기</li>
<li>충청</li>
<li>강원</li>
<li>경상</li>
<li>전라</li>
</ol>
|
cs |
1
2
3
4
5
6
7
8
|
<ol start='5'>
<li>서울</li>
<li>경기</li>
<li>충청</li>
<li>강원</li>
<li>경상</li>
<li>전라</li>
</ol>
|
cs |
그리고 숫자 구분없는 점으로 된 리스트를 제공하고자 할 땐 ul태그를사용한다.
1
2
3
4
5
6
7
|
<ul>
<li>menu1</li>
<li>menu2</li>
<li>menu3</li>
<li>menu4</li>
<li>menu5</li>
</ul>
|
cs |
마지막으로 li 리스트는 내용을 아래로 떨어트린다는 것이다.
옆으로가 아니라 아래로 생성
'면접준비 > KOSMO 허쌤 숙제' 카테고리의 다른 글
학습정리-11-04 (0) | 2021.11.04 |
---|---|
학습정리-11-03 (0) | 2021.11.03 |
학습정리-11-01 (0) | 2021.11.01 |
학습정리-10-29 (0) | 2021.10.29 |
학습정리-10-28(Error와 Exception) (0) | 2021.10.28 |
댓글