Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java Assignment3 upload by YeeunSun #37

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions day05/AuthMethod.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package me.day05;

public enum AuthMethod {

FINGERPRINT("지문인증", 1),
PATTERN("패턴인증", 2),
PIN("핀인증", 3),
FACE("얼굴인증", 4);

private final String viewName;
private final int code;

AuthMethod(String viewName, int code) {
this.viewName = viewName;
this.code = code;
}

public String getViewName() {
return viewName;
}

public int getCode() {
return code;
}
}
24 changes: 24 additions & 0 deletions day05/Company.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package me.day05;

public enum Company {

SAMSUNG("삼성",1),
LG("엘지",2),
APPLE("애플",3);

private final String viewName;
private final int code;

Company(String viewName, int code) {
this.viewName = viewName;
this.code = code;
}

public String getViewName() {
return viewName;
}

public int getCode() {
return code;
}
}
56 changes: 56 additions & 0 deletions day05/Electronic.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package me.day05;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.Objects;

public class Electronic {

private String productNo;
private String modelName;
private Company company;
private LocalDateTime dateOfMade;
AuthMethod[] authMethod;

private static int AUTO_GEN = 0;

Electronic() {
AUTO_GEN++;
dateOfMade = LocalDateTime.now(ZoneId.systemDefault());
productNo = String.format("%02d", this.dateOfMade.getYear()) +
String.format("%02d", this.dateOfMade.getMonthValue()) +
String.format("%02d", this.dateOfMade.getDayOfMonth()) +
String.format("%04d", AUTO_GEN);
}

@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Electronic electronic = (Electronic) obj;
return Objects.equals(productNo, electronic.productNo)
&& Objects.equals(modelName, electronic.modelName)
&& company == electronic.company
&& Objects.equals(dateOfMade, electronic.dateOfMade)
&& Arrays.equals(authMethod, electronic.authMethod);
}

@Override
public int hashCode() {
int result = Objects.hash(productNo, modelName, company, dateOfMade);
result = 31 * result + Arrays.hashCode(authMethod);
return result;
}

@Override
public String toString() {
return "Electronic{" +
"productNo='" + productNo + '\'' +
", modelName='" + modelName + '\'' +
", companyName=" + company +
", dateOfMade=" + dateOfMade +
", authMethod=" + Arrays.toString(authMethod) +
'}';
}
}

122 changes: 122 additions & 0 deletions day05/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
package me.day05;

import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.Objects;

public class User {

private String userId;
private String userPassword;
private String userPhoneNumber;
private String userEmail;
private LocalDate userBirthDate;
private Electronic[] electronicDevices;
private LocalTime registerTime;

User() {
registerTime = LocalTime.now(ZoneId.systemDefault());
}

public User(String userId, String userPassword) {
this();
this.userId = userId;
this.userPassword = userPassword;
}

public User(String userId, String userPassword, String userPhoneNumber, String userEmail, LocalDate userBirthDate, Electronic[] electronicDevices) {
this();
this.userId = userId;
this.userPassword = userPassword;
this.userPhoneNumber = userPhoneNumber;
this.userEmail = userEmail;
this.userBirthDate = userBirthDate;
this.electronicDevices = electronicDevices;
}

public String getUserId() {
return userId;
}

public void setUserId(String userId) {
this.userId = userId;
}

public String getUserPassword() {
return userPassword;
}

public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}

public String getUserPhoneNumber() {
return userPhoneNumber;
}

public void setUserPhoneNumber(String userPhoneNumber) {
this.userPhoneNumber = userPhoneNumber;
}

public String getUserEmail() {
return userEmail;
}

public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}

public LocalDate getUserBirthDate() {
return userBirthDate;
}

public void setUserBirthDate(LocalDate userBirthDate) {
this.userBirthDate = userBirthDate;
}

public Electronic[] getElectronicDevices() {
return electronicDevices;
}

public void setElectronicDevices(Electronic[] electronicDevices) {
this.electronicDevices = electronicDevices;
}

public LocalTime getRegisterTime() {
return registerTime;
}

public void setRegisterTime(LocalTime registerTime) {
this.registerTime = registerTime;
}

@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
User user = (User) obj;
return Objects.equals(userId, user.userId) && Objects.equals(userPassword, user.userPassword)
&& Objects.equals(userPhoneNumber, user.userPhoneNumber)
&& Objects.equals(userEmail, user.userEmail)
&& Objects.equals(userBirthDate, user.userBirthDate)
&& Objects.equals(electronicDevices, user.electronicDevices);
}

@Override
public int hashCode() {
return Objects.hash(userId, userPassword, userPhoneNumber, userEmail, userBirthDate, electronicDevices);
}

@Override
public String toString() {
return "User{" +
"userId='" + userId + '\'' +
", userPassword='" + userPassword + '\'' +
", userEmail='" + userEmail + '\'' +
", userBirthDate='" + userBirthDate + '\'' +
", electronicDevices=" + electronicDevices +
'}';
}

}
31 changes: 31 additions & 0 deletions day05/Users.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package me.day05;

import java.util.Arrays;

public enum Users {

INSTANCE;

private User[] userList;

public User findByUserId(String userId) {
for(int i = 0; i < userList.length; i++) {
if (userId.equals(userList[i].getUserId())) {
return userList[i];
}
}
return null;
}

public User Copy(User user) {
User copyUser = new User();
copyUser.setUserId(user.getUserId());
copyUser.setUserEmail(user.getUserEmail());
copyUser.setUserPassword(user.getUserPassword());
copyUser.setUserBirthDate(user.getUserBirthDate());
copyUser.setUserPhoneNumber(user.getUserPhoneNumber());
copyUser.setElectronicDevices(Arrays.copyOf(user.getElectronicDevices(), user.getElectronicDevices().length));
return copyUser;
}

}