🔶 JAVA-프로그래밍 언어 활용 - 능력평가
✔ 문제 1
-
내가 제출한 답안
package com.javateam.jse; public class SubDemo extends Demo { public String str = "java"; final String STR = "java"; public static String str1 = "java"; }
-
답안
public class SubDemo extends Demo { public static final String str = "java"; }
💡 강사님 피드백
- 1. 아래와 같이 같은 이름의 변수를 한 곳에 다량(2번) 쓰시면 안됩니다.그리고 final 이 누락되었습니다.
public String str = "java";
final String STR = "java";
public static String str = "java";
❗ 배운점
- 문제를 이해하는 능력을 키워야겠다
✔ 문제 2
- 내가 제출한 답안
package com.javateam.jse; import java.util.Scanner; public class Test_2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int score = sc.nextInt(); char credit = 'F'; credit = (score/10 == 9 ||score/10 == 10 ) ? 'A' : (score/10 == 8) ? 'B' : (score/10 == 7) ? 'C' : (score/10 == 6) ? 'D' : 'F'; System.out.println(score + "은(는) " + credit + "학점입니다."); sc.close(); } }
- 답안
int score2 = score/10; credit = score2==9 || score2==10 ? 'A' : score2==8 ? 'B' : score2==7 ? 'C' : score2==6 ? 'D' : 'F';
💡 강사님 피드백
- score/10 그냥 쓰셔도 되는데 자주 사용되면 변수 하나 만드시는 것도 좋습니다.
❗ 배운점
- 삼항연산자 공부, 코드를 더 간결하게 쓸수 있도록 해야겠다
✔ 문제 3
- 내가 제출한 답안
package com.javateam.jse; import java.util.Date; public class MemberVO { private String id; private String pw; private String name; private String address; private Date joinDate; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPw() { return pw; } public void setPw(String pw) { this.pw = pw; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Date getJoinDate() { return joinDate; } public void setJoinDate(Date joinDate) { this.joinDate = joinDate; } }
- 답안
package com.javateam.jse; import java.util.Date; public class MemberVO { private String id; private String pw; private String name; private String address; private Date joinDate; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPw() { return pw; } public void setPw(String pw) { this.pw = pw; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Date getJoinDate() { return joinDate; } public void setJoinDate(Date joinDate) { this.joinDate = joinDate; } }
💡 강사님 피드백
-
없음 ❗ 배운점
-
getter,setter 만드는 법
-
✔ 문제 4
- 내가 제출한 답안
package com.javateam.jse; public class PageVO { private int page; private int totalPage; private int limit; @Override public String toString() { return "page=" + page + ", totalPage=" + totalPage + ", limit=" + limit + "]"; } }
- 답안
@Override public String toString() { return "PageVO [page=" + page + ", totalPage=" + totalPage + ", limit=" + limit + "]"; } // 경우에 따라 format, StringBuilder/Buffer 등을 활용할 수 있습니다.
💡 강사님 피드백
-
없음 ❗ 배운점
-
toString오버라이딩 메서드 생성 방법
-
✔ 문제 5
- 내가 제출한 답안
package com.javateam.jse; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class Test_5 { public static void main(String[] args) { // 1) String fruits[] = {"사과", "딸기", "배", "복숭아", "포도", "귤" }; // 2) List<String> list = new ArrayList<>(); // 3) list = Arrays.asList(fruits); // 4) list.addAll(Arrays.asList(fruits)); // 5) list.sort(Comparator.naturalOrder()); // 6) list.subList(0,3).forEach(x->System.out.print(x + " ")); } }
- 답안
package com.javateam.jse; import java.util.List; import java.util.ArrayList; import java.util.Arrays; public class Fruits { public static void main(String[] args) { String fruits[] = { "사과", "딸기", "배", "복숭아", "포도", "귤" }; List list = new ArrayList<>(); list.addAll(Arrays.asList(fruits)); list.sort(Comparator.naturalOrder()); list.subList(0, 3).forEach(x->System.out.println(x)); } // } //
💡 강사님 피드백
-
- 코드가 전체적으로 보았을 때는 이상 없어 보이지만 java.lang.UnsupportedOperationException 가 출격됩니다. 원인은 list = Arrays.asList(fruits); 이 들어간 이후에는 요소를 추가하면 에러가 나는데 list.addAll(Arrays.asList(fruits)); 와 같이 추가하였기 때문입니다. 그리고 클스명에서는 가급적이면 camel case 사용하시고 회사 내규 등 특별한 이유가 없다면 snake case는 지양하시는 것이 좋습니다.
-
❗ 배운점
- 문제 이해 능력을 키워야겠다 그리고 이해가 안가는 부분은 꼭 질문해야겠다 1번문제나 5번문제 모두 물어보고 확인만했으면 틀리지 않았을문제여서 아깝다.
- 클래스명을 연습하는것처럼 마음대로 설정했는데 이런부분도 클래스 명명규칙을 신경써서 작성해야겠다