(1) te = "(010)3423-2704" 을 010/3423/2704 형식으로 분리하시오.
1 2 3 4 5 6 7 8 | package exam; public class Api_1 { public static void main(String[] args) { String te = "(010)3423-2704"; System.out.println(te.replace("(","").replaceAll("\\p{Punct}","/")); } } | cs |
(2) 업로드할 그림 파일명(확장자가 jpg/gif/png)을 입력하도록 체크하시오.(일반 메소드로 처리)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package exam; import java.util.Scanner; public class Api_2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("업로드 파일 : "); image_check(scanner.nextLine()); scanner.close(); } private static boolean image_check(String filename) { String tmpN = filename.substring(filename.length()-4); if(tmpN.equalsIgnoreCase(".jpg") || tmpN.equalsIgnoreCase(".png") || tmpN.equalsIgnoreCase(".gif")) { System.out.println("업로드 되었습니다."); return true; } System.out.println("이미지 확장자가 아닙니다."); return false; } } | cs |
(3) 업로드할 그림 파일명(확장자가 jpg/gif/png)을 입력하도록 체크하시오.(정규식 처리)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package exam; import java.util.Scanner; import java.util.regex.Pattern; public class Api_3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("업로드 파일 : "); String img = scanner.nextLine(); String regex = "[.]{1}[jpg,png,gif,JPG,PNG,GIF]{3}"; if(Pattern.matches(regex, img.substring(img.length()-4))) System.out.println("업로드 되었습니다."); else System.out.println("이미지 확장자가 아닙니다."); scanner.close(); } } | cs |
(4) 전화번호 양식만 입력가능하도록 체크(정규식사용)? 예) 010-3423-2740
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package exam; import java.util.Scanner; import java.util.regex.Pattern; public class Api_4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("전화번호 : "); String regex = "^[\\d]{2,3}-[\\d]{3,4}-[\\d]{4}$"; if(Pattern.matches(regex, scanner.nextLine())) System.out.println("전화번호 양식이 일치합니다."); else System.out.println("전화번호 양식이 일치하지 않습니다."); scanner.close(); } } | cs |
(5) 주민번호 형식에 맞도록 입력체크(정규식사용)? 예) 123456-1234567
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package exam; import java.util.Scanner; import java.util.regex.Pattern; public class Api_5 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("주민등록번호 : "); String regex = "^[\\d]{6}-[1,2,3,4]{1}[\\d]{6}$"; if(Pattern.matches(regex, scanner.nextLine())) System.out.println("주민등록번호 형식이 일치합니다."); else System.out.println("주민등록번호 형식이 일치하지 않습니다."); scanner.close(); } } | cs |
(6) 아이디 형식에 맞도록 처리(영문자, _, $ 허용)(정규식 사용)? 예) atom1234, atom_1234, atom$1234
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package exam; import java.util.Scanner; import java.util.regex.Pattern; public class Api_6 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("아이디 입력 : "); if(Pattern.matches("^[a-zA-Z0-9_$]*$", scanner.nextLine())) System.out.println("아이디 형식이 올바릅니다."); else System.out.println("아이디 형식이 틀립니다."); } } | cs |
(7) 성적처리(ArrayList객체사용)
Run
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | package exam; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.util.regex.Pattern; //학번 이름 국어 영어 수학 총점 평균 학점 public class GradeRun { public static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { ArrayList<GradeVo> vos = new ArrayList<>(); GradeVo vo = new GradeVo(); while(true) { vo = new GradeVo(); vo.setNum(num()); vo.setName(name()); vo.setKor(kor()); vo.setEng(eng()); vo.setMat(mat()); vo.setTot(vo.getKor()+vo.getEng()+vo.getMat()); vo.setAvg((double)vo.getTot()/3.0); if(vo.getAvg() >= 90) vo.setGrade('A'); else if(vo.getAvg() >= 80) vo.setGrade('B'); else if(vo.getAvg() >= 70) vo.setGrade('C'); else if(vo.getAvg() >= 60) vo.setGrade('D'); else vo.setGrade('F'); vos.add(vo); System.out.print("더 입력하시겠습니까?\n(그만 두시려면 n키를 입력하세요): "); if(scanner.nextLine().equalsIgnoreCase("n")) break; } System.out.println("=============성적표=============="); System.out.println("학번\t이름\t국어\t영어\t수학\t총점\t평균\t학점"); for(int i=0; i<vos.size(); i++) { vo = vos.get(i); System.out.print(vo.getNum()+"\t"); System.out.print(vo.getName()+"\t"); System.out.print(vo.getKor()+"\t"); System.out.print(vo.getEng()+"\t"); System.out.print(vo.getMat()+"\t"); System.out.print(vo.getTot()+"\t"); System.out.printf("%.2f\t",vo.getAvg()); System.out.print(vo.getGrade()+"\n"); System.out.println("--------------------------------------"); } scanner.close(); } private static int num() { while(true) { System.out.print("학번을 입력해주세요 : "); String tmp = scanner.nextLine(); if(Pattern.matches("^[\\d]*$", tmp)) return Integer.parseInt(tmp); System.out.println("다시 입력해주세요."); } } private static String name() { while(true) { System.out.print("이름을 입력해주세요 : "); String tmp = scanner.nextLine(); if(Pattern.matches("^[가-힣]{2,4}$", tmp)) return tmp; System.out.println("다시 입력해주세요."); } } private static int kor() { while(true) { System.out.print("국어점수를 입력해주세요 : "); String tmp = scanner.nextLine(); if(Pattern.matches("^[\\d]{1,3}$", tmp)) return Integer.parseInt(tmp); System.out.println("다시 입력해주세요."); } } private static int eng() { while(true) { System.out.print("영어점수를 입력해주세요 : "); String tmp = scanner.nextLine(); if(Pattern.matches("^[\\d]{1,3}$", tmp)) return Integer.parseInt(tmp); System.out.println("다시 입력해주세요."); } } private static int mat() { while(true) { System.out.print("수학점수를 입력해주세요 : "); String tmp = scanner.nextLine(); if(Pattern.matches("^[\\d]{1,3}$", tmp)) return Integer.parseInt(tmp); System.out.println("다시 입력해주세요."); } } } | cs |
VO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | package exam; public class GradeVo { private String name; private int num,kor,eng,mat,tot; private double avg; private char grade; @Override public String toString() { return "gradeVo [name=" + name + ", num=" + num + ", kor=" + kor + ", eng=" + eng + ", mat=" + mat + ", tot=" + tot + ", avg=" + avg + ", grade=" + grade + "]"; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public int getKor() { return kor; } public void setKor(int kor) { this.kor = kor; } public int getEng() { return eng; } public void setEng(int eng) { this.eng = eng; } public int getMat() { return mat; } public void setMat(int mat) { this.mat = mat; } public int getTot() { return tot; } public void setTot(int tot) { this.tot = tot; } public double getAvg() { return avg; } public void setAvg(double avg) { this.avg = avg; } public char getGrade() { return grade; } public void setGrade(char grade) { this.grade = grade; } } | cs |
첫댓글 깔끔한 내용들 아주 보기 좋습니다.
계속 좋은 모습 기대합니다. 수고하셨어요