JSCODE_JAVA_study_week_3

김경민·2023년 2월 9일
0

jscode

목록 보기
4/8

미션1

package week_3;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Pattern;

public class team_mission_1 {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        Scanner sc = new Scanner(System.in);
        String pattern = "^[a-z A-Z]*$";
        System.out.println("학생의 이름을 입력하고 엔터를 누르세요. (한글로만 입력해야 합니다.)");
        System.out.println("학생들을 다 입력했다면, print라고 입력해주세요. ");
        boolean a = true;
        while(a) {
            names.add(sc.nextLine());
            boolean regex = Pattern.matches(pattern, names.get(0));
            /*(Pattern.matches("^[a-z A-Z]*$", names)) {
                System.out.println("학생의 이름은 한글로만 입력해야 합니다.");
            }*/
            if (names.contains("print")) {
                names.remove("print");
                System.out.println("[학생 명단(가나다순)]");
                Collections.sort(names);
                System.out.println(names);
                break;
            }
        }
        sc.close();
    }
}

다른건 다 했는데, 입력값이 한글이 아니라면, "학생의 이름은 한글로만 입력해야 합니다." 부분을 완료하지 못했다. Pattern.matches를 통해 해결하는 것 같은데, 공부를 더 해보고 수정해야겠다.

팀미션2

package week_3;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class team_mission_2 {
    public static void main(String[] args) {
        List<Integer> num = new ArrayList<>();
        List<Double> record = new ArrayList<>();
        Scanner sc = new Scanner(System.in);
        while(true) {
            System.out.println("선수의 번호를 입력하세요.");
            num.add(sc.nextInt());
            System.out.println("이 선수의 100m 달리기 기록이 몇 초인지 입력하세요.");
            record.add(sc.nextDouble());
            if(num.contains("print")) {
                num.remove("print");
                Collections.sort(num);
                Collections.sort(record);
                System.out.println(record.get(0) + "초" + "(참가인원 : " + record.size() + "명)");
                System.out.println(num);
                break;
            }
        }
        sc.close();
    }
}

똑같은 선수 번호를 입력할 경우, 새로운 기록으로 경신하는 부분.
100m 달리기 기록을 입력할 때, 소숫점 둘째자리까지 반올림하여 기록하는 부분.
1등의 선수 번호를 출력하는 부분을 아직 잘 모르겠다.
공부를 더 하고 수정해야겠다.

나의 부족한 부분이 무엇인지, 내가 그동안 공부를 얼마나 안했는지 나 자신을 돌아보았던 스터디였다. 앞으로 열심히하자!!

profile
어제보다 더 나은 오늘을 위해 오늘도 한걸음!

1개의 댓글

comment-user-thumbnail
2023년 2월 13일

이번 미션 많이 어려우셨을텐데 하실 수 있는 데까지 잘 수행해주셨네요👍👏 이번 3회차 미션에 대한 코드는 추후 톡방에서 공지 또는 클래스에서 다시 설명드리겠습니다!! 고생하셨습니다:)

답글 달기