Hej jestem poczatkujacy w javie jak i ogolnie w programowaniu. Chialem stworzyc dla treningu prosta klase uzytkownika i w klasie testowej porownanie tych uzytkownikow nie mam pomyslu co robie zle, poniewaw outpucie i tak pojawia sie uzytkownik podwojnie. Jak rozumiem petle for przechodza pod koniec przez 3 usera i sprawdza ich pozniej pod katem podopienstwa z j tymi userami 4 w zwyz dlatego Wojtek jest powielony. Jednak jak zaimplementowac ta funkcje zeby wyswetlic tylko pojedynczo userow na normalnych tablicach obiektowych bez stosowania List. Pozdrawiam
package test_package;
public class User {
private String name;
private String surname;
private String eMail;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public String geteMail() {
return eMail;
}
public void seteMail(String eMail) {
this.eMail = eMail;
}
// public User(){}
public User (String name, String surname, String eMail){
setName(name);
setSurname(surname);
seteMail(eMail);
}
@Override
public String toString() {
return "User: name= " + name + ", surname= " + surname + ", eMail= "
+ eMail;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((eMail == null) ? 0 : eMail.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result
+ ((surname == null) ? 0 : surname.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (eMail == null) {
if (other.eMail != null)
return false;
} else if (!eMail.equals(other.eMail))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (surname == null) {
if (other.surname != null)
return false;
} else if (!surname.equals(other.surname))
return false;
return true;
}
}
package test_package;
public class Test_user {
public static void main(String[] args) {
User[] users = new User[8];
users[0] = new User("Tomek", "Atomek", "tAtomek@poczta.pl");
users[1] = new User("Wojtek", "Kowalski", "wKowalski@poczta.pl");
users[2] = new User("Anna", "Hanna", "aHanna@poczta.pl");
users[3] = new User("Wojtek", "Kowalski", "wKowalski@poczta.pl");
users[4] = new User("Tomek", "Atomek", "tAtomek@poczta.pl");
users[5] = new User("Tomek", "Atomek", "tAtomek@poczta.pl");
users[6] = new User("Tomek", "Atomek", "tAtomek@poczta.pl");
users[7] = new User("Anna", "Hanna", "aHanna@poczta.pl");
// users[8] = new User("Tomek", "Atomek", "tAtomek@poczta.pl");
User[] temp = new User[users.length];
for (int i = 0; i < users.length -1; i++) {
for (int j = i +1; j < users.length -1 ; j++) {
if (!users[i].equals(users[j])) {
temp[i] = users[i];
}
}
}
// for (int i = 1; i < users.length; i++) {
// if (users[i-1]!= users[i]) {
// temp[i] = users[i];
// }
// }
for (int i = 0; i < temp.length; i++) {
if (temp[i] != null) {
System.out.println(temp[i]);
}
}
}
}