From 28ccaaaf3f149a56c120f9644a34837102712bd6 Mon Sep 17 00:00:00 2001 From: inyoung Date: Mon, 17 Apr 2023 23:03:33 +0900 Subject: [PATCH] Java Assignment3 upload by FirstNameLastName --- me/day05/practice/Electronic.java | 77 ++++++++++++++++++++++++++ me/day05/practice/User.java | 91 +++++++++++++++++++++++++++++++ 2 files changed, 168 insertions(+) create mode 100644 me/day05/practice/Electronic.java create mode 100644 me/day05/practice/User.java diff --git a/me/day05/practice/Electronic.java b/me/day05/practice/Electronic.java new file mode 100644 index 0000000..9359880 --- /dev/null +++ b/me/day05/practice/Electronic.java @@ -0,0 +1,77 @@ +package me.day05.practice; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.Arrays; +import java.util.Objects; + +public class Electronic { + private String productNo; + private static int count = 0; + private String modelName; + private Company companyName; + private String dateOfMade; + private AuthMethod[] authMethods; + + + public enum Company{ + SAMSUNG, LG, APPLE + } + public enum AuthMethod{ + FINGERPRINT, PATTERN, PIN, FACE + } + public Electronic(String modelName, Company companyName, String dateOfMade,AuthMethod[] authMethod){ + count++; + this.productNo = LocalDate.now().format(DateTimeFormatter.ofPattern("YYMMdd")) + String.format("%04d", count); + this.modelName = modelName; + this.companyName = companyName; + this.dateOfMade = dateOfMade; + this.authMethods = authMethod; + } + + public static int getCount(){ + return count; + } + + public String getProductNo() { + return productNo; + } + + public String getModelName() { + return modelName; + } + + public String getDateOfMade() { + return dateOfMade; + } + + public AuthMethod[] getAuthMethods() { + return authMethods; + } + + @Override + public String toString() { + return "Electronic{" + + "productNo='" + productNo + '\'' + + ", modelName='" + modelName + '\'' + + ", companyName='" + companyName + '\'' + + ", dateOfMade=" + dateOfMade + + ", authMethods=" + Arrays.toString(authMethods) + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Electronic that = (Electronic) o; + return Objects.equals(productNo, that.productNo) && Objects.equals(modelName, that.modelName) && Objects.equals(companyName, that.companyName) && Objects.equals(dateOfMade, that.dateOfMade) && Arrays.equals(authMethods, that.authMethods); + } + + @Override + public int hashCode() { + int result = Objects.hash(productNo, modelName, companyName, dateOfMade); + result = 31 * result + Arrays.hashCode(authMethods); + return result; + } +} diff --git a/me/day05/practice/User.java b/me/day05/practice/User.java new file mode 100644 index 0000000..241571e --- /dev/null +++ b/me/day05/practice/User.java @@ -0,0 +1,91 @@ +package me.day05.practice; + +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.Objects; + +public class User { + private String userId; + private String userPassword; + private String userEmail; + private String userBirthDate; + private Electronic[] electronicDevices; + private LocalDateTime registerTime; + public User(){ + this.registerTime = LocalDateTime.now(); + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserEmail() { + return userEmail; + } + + public void setUserEmail(String userEmail) { + this.userEmail = userEmail; + } + + public String getUserPassword() { + return userPassword; + } + + public void setUserPassword(String userPassword) { + this.userPassword = userPassword; + } + + public String getUserBirthDate() { + return userBirthDate; + } + + public void setUserBirthDate(String userBirthDate) { + this.userBirthDate = userBirthDate; + } + + public Electronic[] getElectronicDevices() { + return electronicDevices; + } + + public void setElectronicDevices(Electronic[] electronicDevices) { + this.electronicDevices = electronicDevices; + } + + public LocalDateTime getRegisterTime() { + return registerTime; + } + + public void setRegisterTime(LocalDateTime registerTime) { + this.registerTime = registerTime; + } + + @Override + public String toString() { + return "User{" + + "userId='" + userId + '\'' + + ", userPassword='" + userPassword + '\'' + + ", userEmail='" + userEmail + '\'' + + ", userBirthDate='" + userBirthDate + '\'' + + ", electronicDevices=" + Arrays.toString(electronicDevices) + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + User user = (User) o; + return Objects.equals(userId, user.userId) && Objects.equals(userPassword, user.userPassword) && Objects.equals(userEmail, user.userEmail) && Objects.equals(userBirthDate, user.userBirthDate) && Arrays.equals(electronicDevices, user.electronicDevices); + } + + @Override + public int hashCode() { + int result = Objects.hash(userId, userPassword, userEmail, userBirthDate); + result = 31 * result + Arrays.hashCode(electronicDevices); + return result; + } +}