ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3장 연습문제
    java 2023. 1. 15. 16:45

    Q1 평균점수 구하기
    나는 Map자료형으로 나열해서 구현해보겠다. 반복문을 사용하고 싶었으나, 모르겠어서 일단 단순하게 구현해보았음

    import java.util.HashMap;
    
    public class HelloWorld {
                public static void main(String[] args){
                    HashMap<String, Integer> subject = new HashMap<>();
                    subject.put("국어", 80);
                    subject.put("영어", 75);
                    subject.put("수학", 55);
    
                    int a = subject.get("국어");
                    int b = subject.get("영어");
                    int c = subject.get("수학");
                    double average;
                    System.out.println(average = (a+b+c)/subject.size());
    
                }
            }

    Q2 홀수짝수 판별

    import java.util.HashMap;
    
    public class HelloWorld {
                public static void main(String[] args){
                    int a = 13;
    
                    if(a%2 == 0){
                        System.out.println("짝수입니다.");
                    }
                    else{
                        System.out.println("홀수입니다.");
                    }
    
                }
            }

    Q3. 주민등록번호 나누기

    
    import java.util.HashMap;
    
    public class HelloWorld {
                public static void main(String[] args){
                    String number = "881120-1068234";
    
                    System.out.println(number.substring(0, 6));
                    System.out.println(number.substring(7));
    
                }
            }
    
    
    
    
    

    Q4. 주민등록번호 인덱싱

    
    import java.util.HashMap;
    
    public class HelloWorld {
                public static void main(String[] args){
                    String pin = "881120-3068234";
    
                    char at = pin.charAt(7);
    
                    System.out.println(at);
                    switch(at){
                        case '1':
                        case'3':
                            System.out.println("남자입니다.");
                            break;
    
                        case '2':
                        case'4':
                            System.out.println("여자입니다.");
                            break;
                    }
    
    
                }
            }
    
    
    
    
    

    Q5. 문자열 바꾸기

    import java.util.HashMap;
    
    public class HelloWorld {
        public static void main(String[] args){
            String a = "a:b:c:d";
            String b = a.replace("a:b:c:d", "a#b#c#d");
            System.out.println(b);
        }
    }

    Q6 리스트 역순 출력하기

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Comparator;
    
    public class HelloWorld {
        public static void main(String[] args){
            ArrayList<Integer> myList = new ArrayList<>(Arrays.asList(1, 3, 5, 4, 2));
            System.out.println(myList);
            myList.sort(Comparator.reverseOrder());
            System.out.println(myList);
    
        }
    }

    Q7 리스트를 문자열로 만들기

    import java.util.ArrayList;
    import java.util.Arrays;
    
    
    public class HelloWorld {
        public static void main(String[] args){
            ArrayList<String> myList = new ArrayList<>(Arrays.asList("List","is","too","short"));
            String result = String.join(" ", myList);
            System.out.println(result);
    
    
        }
    }

    Q8 맵에서 값 추출하기

    import java.util.HashMap;
    
    
    public class HelloWorld {
        public static void main(String[] args){
            HashMap<String, Integer> grade = new HashMap<>();
            grade.put("A", 90);
            grade.put("B", 80);
            grade.put("C", 70);
            System.out.println(grade.remove("B"));
            System.out.println(grade);
    
        }
    }

     

    Q9 중복 숫자 제거하기

    set은 중복이 불가능하다는 특징이있으므로

    List ->set으로 변경해서 중복을 없앤 후 다시

    set ->List형으로 자료형을 변경해준다

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.HashSet;
    
    
    public class HelloWorld {
        public static void main(String[] args){
            ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1,1,1,2,2,3,3,4,4,5));
            System.out.println(numbers);
            HashSet<Integer> set = new HashSet<>(numbers); //List를 set으로 변경
            System.out.println(set);
            ArrayList<Integer> result = new ArrayList<>(set); // set을 다시 List로 변경
            System.out.println(result);
    
    
    
        }
    }

    Q10 매직넘버 제거하기

    흥미로웠던 점은

    printCoffePrice라는 key값에 대응하는 value값을 출력하는 메소드를 따로 만들어둔점과

    매개변수로 Enum 자료형을 대입한것

    맵 자료형을 이용해 enum타입 key와 value값을 매칭시켜 저장한점

    import java.util.HashMap;
    
    
    
    
    public class HelloWorld {
        enum CoffeType{
            AMERICANO,
            ICE_AMERICANO,
            CAFE_LATTE
        };
        static void printCoffePrice(CoffeType type){
    
    
                HashMap<CoffeType, Integer> priceMap = new HashMap<>();
                priceMap.put(CoffeType.AMERICANO,3000);
                priceMap.put(CoffeType.ICE_AMERICANO,4000);
                priceMap.put(CoffeType.CAFE_LATTE,5000);
    
                int price = priceMap.get(type);
            System.out.println(String.format("가격은 %d 원입니다.", price));
        }
        public static void main(String[] args){
            printCoffePrice(CoffeType.AMERICANO);
        }
    }

     

    'java' 카테고리의 다른 글

    [java] 클래스  (0) 2023.01.16
    [java] 제어문(if,switch,while,for)  (0) 2023.01.16
    [java] 자료형과 형변환  (0) 2023.01.12
    [java] 명명규칙  (0) 2023.01.12
    [java] java공부를 시작하며  (1) 2023.01.12

    댓글

lee-ding