반응형
String 관련 연습 문제
문1) 이메일 주소에 "@" 문자가 있으면 "@"글자 기준으로 문자열을 분리해서 출력하고, "@"문자가 없다면 '이메일주소 형식이 아닙니다' 를 출력하는 코드를 작성하시오.
String email = new String("webmaster@naver.com");
if(email.contains("@")) {
StringTokenizer st = new StringTokenizer(email, "@");
while (st.hasMoreElements()) {
System.out.println(st.nextToken());
}
} else {
System.out.println("이메일주소 형식이 아닙니다");
}
// 다른풀이1 ---------------------------------------------
if(email.indexOf("@") != -1) {
String[] arr = email.split("@");
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
} else {
System.out.println("이메일주소 형식이 아닙니다");
}
// 다른풀이2 ---------------------------------------------
if(email.indexOf("@") != -1) {
int pos = email.indexOf("@"); //9
String id = email.substring(0, pos); // 0인덱스 ~ 9-1인덱스 까지
String server = email.substring(pos+1); // 10인덱스 ~ 마지막인덱스 까지
System.out.println(id);
System.out.println(server);
}
} else {
System.out.println("이메일주소 형식이 아닙니다");
}
문2) 첨부파일이 이미지 파일(.png, .jpg, gif)일 경우 파일명과 확장자명을 분리하여 출력하고, 첨부파일이 이미지 파일이 아닐 경우 '이미지 파일만 첨부 가능합니다' 를 출력하는 코드를 작성하시오.
String path = new String("d:/frontend/images/sky2023.03.16.jpg");
int lastSlash = path.lastIndexOf("/"); // path에서 마지막 "/" 기호의 인덱스 -> 18
String file = path.substring(lastSlash+1); // 전체파일명
int lastDot = file.lastIndexOf("."); // file에서 마지막 "." 기호의 인덱스 -> 13
String fileName = file.substring(0,lastDot); // 파일명
String ext = file.substring(lastDot+1); // 확장자명
ext = ext.toLowerCase(); // 대문자로 적을 경우를 대비해 소문자로 변환시킴
if(ext.equals("png") || ext.equals("jpg") || ext.equals("gif")) {
System.out.println("파일명 : " + fileName);
System.out.println("확장자명 : " + ext);
System.out.println("이미지 파일이 전송되었습니다");
} else {
System.out.println("이미지 파일만 첨부 가능합니다");
}
반응형
'Back-End > Java' 카테고리의 다른 글
Java(5) (0) | 2023.03.17 |
---|---|
Java(4) (0) | 2023.03.16 |
Java 과제 - 표준편차 구하기 (0) | 2023.03.15 |
댓글