728x90
반응형
[자료 구조] 11. Set 인터페이스 예제 : 고유 사용자 ID 관리 시스템
예제 개념: 고유 사용자 ID 관리 시스템
상황 설명: 웹사이트에 접속하는 사용자의 ID를 관리하는 시스템을 개발합니다. 사용자 ID는 고유해야 하며 중복을 허용하지 않습니다. 시스템은 사용자가 로그인할 때마다 ID를 체크하고, 새로운 사용자 ID를 등록할 때 중복을 방지합니다.
1. 풀이 코드와 작성한 코드를 비교하며 느낀 점
2. 풀이 코드
// 시스템 실행
public void run() {
// 동작 - 스캐너 활용
// 실행 흐름 만들기 --> while , if
// 결과 -> 정상 유저 등록
// -> 이미 등록된 사용자 입니다.
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("사용자 아이디를 입력 하세요");
String input = scanner.nextLine(); // String 값 입력 받기
if("exit".equals(input)) {
System.out.println("시스템을 종료 합니다.");
break; // while 종료
}
boolean isRegistered = registerUserID(input);
if(isRegistered) {
System.out.println("새로운 사용자가 등록 되었습니다" + input);
} else {
System.out.println("이미 등록된 사용자 입니다" + input);
}
}
scanner.close();
}
3. 내가 작성한 코드
package Structure.ch06;
import java.util.HashSet;
import java.util.Scanner;
public class UniqueUserIDSystem {
private HashSet<String> userIDs;
public UniqueUserIDSystem() {
this.userIDs = new HashSet<String>();
}
// 사용자 ID 등록 기능
// 정상적으로 들어가면 true
// 중복 발생하면 false
public boolean registerUserID(String userID) {
if(userIDs.add(userID)==false) {
System.out.println("이미 등록된 사용자입니다.");
System.out.println("------------------");
return false;
} else {
System.out.println("성공적으로 등록되었습니다.");
System.out.println("------------------");
return userIDs.add(userID);
}
}
// 시스템 실행
public void run() {
// 동작 - 스캐너 활용
// 실행 흐름 만들기 -> while, if
// 결과 -> 정상 유저 등록
int count =0;
while(count<2) {
System.out.println("------------------");
System.out.println("로그인을 시작합니다. ID를 입력해주세요 : ");
Scanner scanner = new Scanner(System.in);
String userID=scanner.next();
registerUserID(userID);
count++;
}
System.out.println(userIDs);
}
private Scanner next() {
// TODO Auto-generated method stub
return null;
}
// 코드 테스트
public static void main(String[] args) {
UniqueUserIDSystem system =new UniqueUserIDSystem();
system.run();
} // end of main
}
728x90
반응형
'자료 구조 > 기본 개념' 카테고리의 다른 글
[자료 구조] 13. Map 인터페이스 사용 예제 :회원 가입 순서 기록 및 조회 시스템 (0) | 2024.05.13 |
---|---|
[자료 구조] 12. Map 인터페이스 (0) | 2024.05.13 |
[자료 구조] 10. Set 인터페이스 (0) | 2024.05.10 |
[자료 구조] 9. List 인터페이스 활용 : 영화 평점 관리 시스템 예제 만들기 (0) | 2024.05.09 |
[자료 구조] 8. List 인터페이스 (0) | 2024.05.09 |