미션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등의 선수 번호를 출력하는 부분을 아직 잘 모르겠다.
공부를 더 하고 수정해야겠다.
나의 부족한 부분이 무엇인지, 내가 그동안 공부를 얼마나 안했는지 나 자신을 돌아보았던 스터디였다. 앞으로 열심히하자!!
이번 미션 많이 어려우셨을텐데 하실 수 있는 데까지 잘 수행해주셨네요👍👏 이번 3회차 미션에 대한 코드는 추후 톡방에서 공지 또는 클래스에서 다시 설명드리겠습니다!! 고생하셨습니다:)