diff --git a/src/Practice01/AuthMethod.java b/src/Practice01/AuthMethod.java new file mode 100644 index 0000000..6578306 --- /dev/null +++ b/src/Practice01/AuthMethod.java @@ -0,0 +1,5 @@ +package Practice01; + +public enum AuthMethod { + FINGERPRINT, PATTERN, PIN, FACE +} diff --git a/src/Practice01/Company.java b/src/Practice01/Company.java new file mode 100644 index 0000000..83e53a9 --- /dev/null +++ b/src/Practice01/Company.java @@ -0,0 +1,5 @@ +package Practice01; + +public enum Company { + SAMSUNG, LG, APPLE +} diff --git a/src/Practice01/Electronic.java b/src/Practice01/Electronic.java new file mode 100644 index 0000000..0326905 --- /dev/null +++ b/src/Practice01/Electronic.java @@ -0,0 +1,105 @@ +package Practice01; + +import java.security.spec.EllipticCurve; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Arrays; +import java.util.Objects; + +public class Electronic { + private String productNo; + private static int productNum = 1; + private String modelName; + private Company companyName; + private String dateOfMade; + private AuthMethod[] authMethod; + + private static LocalDateTime localDateTime = LocalDateTime.now(ZoneId.systemDefault());; + + private Electronic(){ + this.productNo = localDateTime.format(DateTimeFormatter.ofPattern("yyMMdd")) + String.format("%04d",productNum); + productNum++; + } + + public Electronic(String modelName, Company companyName){ + this(); + this.modelName = modelName; + this.companyName = companyName; + } + + public Electronic(String modelName, Company companyName, String dateOfMade, AuthMethod[] authMethod){ + this(); + this.modelName = modelName; + this.companyName = companyName; + this.dateOfMade = dateOfMade; + this.authMethod = authMethod; + } + + public String getProductNo() { + return productNo; + } + + public void setProductNo(String productNo) { + this.productNo = productNo; + } + + public String getModelName() { + return modelName; + } + + public void setModelName(String modelName) { + this.modelName = modelName; + } + + public Company getCompanyName() { + return companyName; + } + + public void setCompanyName(Company companyName) { + this.companyName = companyName; + } + + public String getDateOfMade() { + return dateOfMade; + } + + public void setDateOfMade(String dateOfMade) { + this.dateOfMade = dateOfMade; + } + + public AuthMethod[] getAuthMethod() { + return authMethod; + } + + public void setAuthMethod(AuthMethod[] authMethod) { + this.authMethod = authMethod; + } + + @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) && companyName == that.companyName && Objects.equals(dateOfMade, that.dateOfMade) && Arrays.equals(authMethod, that.authMethod); + } + + @Override + public int hashCode() { + int result = Objects.hash(productNo, modelName, companyName, dateOfMade); + result = 31 * result + Arrays.hashCode(authMethod); + return result; + } + + @Override + public String toString() { + return "Electronic{" + + "productNo='" + productNo + '\'' + + ", modelName='" + modelName + '\'' + + ", companyName=" + companyName + + ", dateOfMade='" + dateOfMade + '\'' + + ", authMethod=" + Arrays.toString(authMethod) + + '}'; + } +} diff --git a/src/Practice01/Electronics.java b/src/Practice01/Electronics.java new file mode 100644 index 0000000..541a19c --- /dev/null +++ b/src/Practice01/Electronics.java @@ -0,0 +1,148 @@ +package Practice01; + +import java.util.Arrays; +import java.util.Objects; + +public class Electronics { + //////// + // singleton + private static Electronics allElectronics; + + public static Electronics getInstance(){ + if(allElectronics == null){ + allElectronics = new Electronics(); + } + return allElectronics; + } + //////// + + private Electronic[] electronicList; + + private static final int DEFAULT = 10; + private int size; + private int capacity; + + private Electronics(){ + electronicList = new Electronic[DEFAULT]; + capacity = DEFAULT; + } + + public Electronics(int initial){ + electronicList = new Electronic[initial]; + capacity = initial; + } + + public Electronics(Electronic[] electronicList){ + this.electronicList = electronicList; + capacity = electronicList.length; + size = electronicList.length; + } + + public Electronic[] getElectronicList(){return electronicList;} + + public int size() { + return size; + } + private int capacity() { + return capacity; + } + + public Electronic get(int index){ + if (index<0 || index >= size) return null; + return electronicList[index]; + } + + public void set(int index, Electronic electronic){ + if(index<0 || index >=size) return; + if(electronic == null) return; + + electronicList[index] = electronic; + } + + public void add(Electronic electronic){ + if(electronic == null) return; + + if(size= size) return null; + return userList[index]; + } + + public void set(int index, User user){ + if(index<0 || index >=size) return; + if(user == null) return; + + userList[index] = user; + } + + public void add(User user){ + if(user == null) return; + + if(size