실습(ArrayList(1))
1. 수정
- 90을 9로 수정
import java.util.ArrayList;
import java.util.Collections;
public class ArrayListTest<T extends Number>{
public static void main(String[] args) {
ArrayList<Integer> datas = new ArrayList<>();
datas.add(10);
datas.add(20);
datas.add(40);
datas.add(50);
datas.add(90);
datas.add(80);
datas.add(70);
datas.add(60);
if(datas.contains(90)) {
System.out.println(datas.set(datas.indexOf(90), 9) + "이 9로 변경되었습니다.");
}
System.out.println(datas);
}
}
![](https://blog.kakaocdn.net/dn/bLqQi1/btrv8Dsz9Eg/LsHhdof7e5Aog83FJ9fxi0/img.png)
2. 삭제(80 삭제)
- 인덱스로 삭제
import java.util.ArrayList;
import java.util.Collections;
public class ArrayListTest<T extends Number>{
public static void main(String[] args) {
ArrayList<Integer> datas = new ArrayList<>();
datas.add(10);
datas.add(20);
datas.add(40);
datas.add(50);
datas.add(90);
datas.add(80);
datas.add(70);
datas.add(60);
if(datas.contains(80)) {
System.out.println(datas.remove(datas.indexOf(80)) + "이 삭제되었습니다.");
}
System.out.println(datas);
}
}
![](https://blog.kakaocdn.net/dn/crlk8r/btrv2GkwGqf/S3LOhdNkg8YWumyIJDYsCk/img.png)
- 값으로 삭제
import java.util.ArrayList;
import java.util.Collections;
public class ArrayListTest<T extends Number>{
public static void main(String[] args) {
ArrayList<Integer> datas = new ArrayList<>();
datas.add(10);
datas.add(20);
datas.add(40);
datas.add(50);
datas.add(90);
datas.add(80);
datas.add(70);
datas.add(60);
if(datas.remove(Integer.valueOf(80))) { // boxing
System.out.println("삭제 성공");
}
System.out.println(datas);
}
}
![](https://blog.kakaocdn.net/dn/oL4CT/btrv6d2pMCx/iXrNc07Kmy8kLsAEm3PiF1/img.png)
실습(ArrayList(2))
1. User.java 생성
- 필요한 변수 선언
// 이름
private String name;
// 아이디
private String id;
// 비밀번호
private String pw;
// 휴대폰 번호
private String phone;
- 생성자 생성
public User() {;}
- getter, setter 생성
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
2. UserField.java 생성
- 회원을 저장할 자료구조 선언
ArrayList<User> users = new ArrayList<>();
// private : 외부에서 접근하지 못하게 한다.
// static : 키가 한 번만 할당되게 한다.
// final : 외부에서 키값이 수정되지 못하게 한다.
private static final int KEY = 3;
- 생성자
public UserField() {
// 테스트를 위해 등록된 user 정보를 미리 넣어놓는다.
User user = new User();
user.setId("hds1234");
user.setPw("1234");
users.add(user);
}
- 아이디 중복검사
public User checkId(String id) {
User user = null;
for (int i = 0; i < users.size(); i++) {
if(users.get(i).getId().equals(id)) { // i번째 회원의 아이디가 id와 같다면
user = users.get(i); // i번째 회원의 정보를 user에 담아준다.
break;
}
}
return user;
}
- 회원가입
public void join(User user) {
user.setPw(encrypt(user.getPw()));
users.add(user);
}
- 로그인
public boolean login(String id, String pw) {
User user = checkId(id);
if(user != null) {
// if(decrypt(user.getPw()).equals(pw)) { // 양방향
if(user.getPw().equals(encrypt(pw))) { // 단방향
return true;
}
}
return false;
}
- 암호화
public String encrypt(String pw) {
String enPw = "";
for (int i = 0; i < pw.length(); i++) {
enPw += (char)(pw.charAt(i) * KEY);
}
return enPw;
}
- 복호화
public String decrypt(String enPw) {
String dePw = "";
for (int i = 0; i < enPw.length(); i++) {
dePw += (char)(enPw.charAt(i) / KEY);
}
return dePw;
}
3. Test.java에서 실행
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
UserField uf = new UserField();
User user = new User();
Scanner sc = new Scanner(System.in);
String name = null, id = null, pw = null, phone = null;
System.out.print("이름 : ");
name = sc.next();
System.out.print("아이디 : ");
id = sc.next();
if(uf.checkId(id) != null) {
System.out.println("중복된 아이디입니다.");
return; // 중복된 아이디라면 main 메소드를 종료시킨다.
}
System.out.print("비밀번호 : ");
pw = sc.next();
System.out.print("전화번호 : ");
phone = sc.next();
user.setName(name);
user.setId(id);
user.setPw(pw);
user.setPhone(phone);
uf.join(user);
System.out.println("회원가입 성공");
System.out.print("아이디 : ");
id = sc.next();
System.out.print("비밀번호 : ");
pw = sc.next();
if(uf.login(id, pw)) {
System.out.println("로그인 성공");
} else {
System.out.println("로그인 실패");
}
}
}
![](https://blog.kakaocdn.net/dn/lzoV4/btrv4KzEqhK/W8EbTuBirJ1GmsO6rF0ZJ1/img.png)
'웹 개발 > Java' 카테고리의 다른 글
[Web_JAVA] 32 (0) | 2022.03.18 |
---|---|
[Web_JAVA] 31 (0) | 2022.03.17 |
[Web_JAVA] 29 (0) | 2022.03.15 |
[Web_JAVA] 28 (0) | 2022.03.14 |
[Web_JAVA] 27 (0) | 2022.03.13 |