13번
학생들에게 가장 좋아하는 SF영화를 조사하여 배열에 저장하였다. 각 영화의 답변 횟수를 계산하여 출력하시오 |
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
public class Movies {
public static void main(String[] args) {
String[] arr = { "Transformer", "Starwars", "Matrix", "Terminator", "Avatar",
"Starwars", "Aliens", "Avatar", "Matrix", "Terminator", "AI", "Matrix",
"The Martian", "Avatar", "Interstellar", "Transformer", "The Fly",
"Cube", "Ex Machina", "I, Robot", "Deja Vu", "The Martian", "Gravity",
"Terminator", "The Martian", "Interstellar", "Deja Vu", "Avatar" };
ArrayList<String> list = new ArrayList<String>();
for ( String s : arr) {
list.add(s);
}
HashSet<String> hset = new HashSet<String>(list); // 생성자의 괄호에 컬렉션을 넣어주면 초기값으로 넣어준다.
for(String s : hset) {
System.out.println(s + ": " + Collections.frequency(list, s));
}
}
}
14번
HashSet을 이용하여 중복을 제거하시오. |
import java.util.Arrays;
import java.util.HashSet;
public class Unique {
public static void main(String[] args) {
String[] arr = { "a", "b", "b", "a", "a", "a", "c" };
System.out.println( "arr = " + Arrays.toString(arr));
HashSet<String> hset = new HashSet<String>( Arrays.asList(arr) ); // 배열 -> List -> HashSet
// asList 배열을 컬렉션 객체로
String[] arr2 = hset.toArray( new String[0] ); // HashSet -> 배열
// toArray 컬렉션을 배열로
// hset이 0크기의 배열을 인자로 받아도 알아서 맞는 크기의 배열로 리턴해준다.
System.out.println("arr2 = " + Arrays.toString(arr2));
}
}
15번
고객의 이름과 포인트 점수를 관리하는 프로그램을 작성하시오. 고객의 이름과 추가하고 포인트를 한 줄에 입력 받으시오. 기존의 고객이면 기존 점수에 합산하고, 기존의 고객이 아니면, 새롭게 추가하시오. 매번 입력을 처리핚 다음에 전체 데이터를 출력하시오. HashMap컬렉션을 사용하시오. |
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.StringTokenizer;
public class Customer {
public static void main(String[] args) {
HashMap<String, Integer> CustomerHashMap = new HashMap<String, Integer>();
Scanner sc = new Scanner(System.in);
String information, name;
int point;
while(true) {
System.out.print("이름과 포인트 입력> ");
information = sc.nextLine();
StringTokenizer st = new StringTokenizer(information);
if(information.equals("exit"))
break;
if(!(st.countTokens()==2)) {
System.out.println("잘못된 입력");
continue;
}
name = st.nextToken();
point = Integer.parseInt(st.nextToken());
Set<String> keys = CustomerHashMap.keySet();
Iterator<String> it = keys.iterator();
int check = 0;
while(it.hasNext()) {
if (it.next().equals(name)) {
CustomerHashMap.put(name, CustomerHashMap.get(name)+point);
check = 1;
break;
}
}
if (check==0) {
CustomerHashMap.put(name, point);
}
System.out.println(CustomerHashMap);
}
}
}
'Language > JAVA' 카테고리의 다른 글
[Java] 객체 직렬화 (0) | 2021.11.18 |
---|---|
[Java] File 클래스를 이용해 ls 명령어 출력해보기 (0) | 2021.11.18 |
[Java] 5주차 수업 예제 8번, 14번 (0) | 2021.09.30 |
[Java] 4주차 수업 예제 9번 (0) | 2021.09.24 |
[Java] 3주차 수업 예제 10번 (0) | 2021.09.16 |