Backend/JAVA
[JAVA] 특강 7일차 : 자바 문제풀이 & 코드리뷰
JOKUN
2022. 6. 29. 22:59
switch&forEach
📑문제
⭕정답
컴파일 에러
🔍풀이
컴파일 에러 없이 동작하게 하려면 final 상수로 선언해주면 된다.
package jokun.KH.test0628;
import java.util.Arrays;
import java.util.List;
public class Ex01 {
public static void main(String[] args) {
final String str1 = "a";
final String str2 = "b";
final String str3 = "c";
List<String> list = Arrays.asList("a", "b", "c");
list.forEach(e-> { //stream().forEach를 .forEach로 변경가능!
switch (e){
case str1:
System.out.println("switch");
break;
case str2:
break;
case str3:
break;
}
});
}
}
properties & load & clear &set/get
📑문제
⭕정답
java 출력
🔍풀이
package jokun.KH.test0628;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
public class Ex02 {
public static void main(String[] args) throws Exception{
Properties property = new Properties();
File path = new File("C:\\dev\\file\\abc.properties");
FileInputStream stream = new FileInputStream(path);
String str = "key";
property.load(stream);
property.clear();
property.setProperty(str, "java");
System.out.println(property.getProperty("key"));
stream.close();
}
}
Collections.shuffle & forEach
📑문제
⭕정답
!sb.toString().equals(text)
🔍풀이
package jokun.KH.test0628;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Ex03 {
public static void main(String[] args) {
System.out.println(shuffleText("java"));
}
public static String shuffleText(String text){
while (true){
List<String> list = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for(char ch : text.toCharArray()){
list.add(String.valueOf(ch));
}
Collections.shuffle(list);
list.forEach(e -> sb.append(e));
if(!sb.toString().equals(text)){
return sb.toString();
}
}
}
}
isLetter
📑문제
⭕정답
cnt < 1
🔍풀이
package jokun.KH.test0628;
import java.util.Arrays;
import java.util.List;
public class Ex04 {
public static void main(String[] args) {
List<String> list = Arrays.asList("abc", "def", "123");
for (String str : list){
if(!isAlphabet(str)){
System.out.println(str);
}
}
}
private static boolean isAlphabet(String text) {
int cnt = 0;
for (char ch : text.toCharArray()){
if (!Character.isLetter(ch)){
cnt++;
}
}
return cnt < 1;
}
}
String.toCharArray() : 문자열을 쪼개서 char형으로 변환시켜줌
Charater.isLetter() : 안에 들어있는 게 문자인지 확인
* Charater - char형 래퍼클래스
* is____() 메서드 : 특정 대상인지 여부를 판별하는 메서드
ZipInputStream & ZipEntry
📑문제
⭕정답
1.txt2.txt3.txt 가 출력된다.
🔍풀이
package jokun.KH.test0628;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Ex05 {
public static void main(String[] args) throws IOException {
File file = new File("C:\\dev\\file\\file.zip");
ZipInputStream stream = new ZipInputStream(new FileInputStream(file));
ZipEntry entry = stream.getNextEntry();
while (entry != null){
System.out.println(entry.getName());
stream.closeEntry();
entry = stream.getNextEntry();
}
stream.close();
}
}