Guten Abend, ich bin wieder da für ein neues Problem.
Mit diesem Programm muss ich einfach ein Objekt speichern.
Es geht, um sich registrieren und anmelden zu können, ich eine Main wo alles ausgeführt wird und zwei anderen Klassen: Benutzer --> da habe ich alle Get und set Methoden; dann AnmeldenRegistrien --> hier habe ich die zwei Methoden anmelden und registrieren; ich habe so programmiert, dass bei der Registrierung das Objekt Benutzer übergeben wird und später wird es in den ArrayList gespeichert. Bei der Methode Anmelden wird den Benutzername und das Passwort übergeben und einfach überprüft, ob sie mit dem Objekt, das in der ArrayList befindet, stimmt bzw gleich ist. Das Problem liegt eben beim Speicher des Objektes AnmeldenRegistrieren und ich habe keine Ahnung wieso.
Ich würde mich freuen, wenn mir eine Person helfen könnte!
Mit diesem Programm muss ich einfach ein Objekt speichern.
Es geht, um sich registrieren und anmelden zu können, ich eine Main wo alles ausgeführt wird und zwei anderen Klassen: Benutzer --> da habe ich alle Get und set Methoden; dann AnmeldenRegistrien --> hier habe ich die zwei Methoden anmelden und registrieren; ich habe so programmiert, dass bei der Registrierung das Objekt Benutzer übergeben wird und später wird es in den ArrayList gespeichert. Bei der Methode Anmelden wird den Benutzername und das Passwort übergeben und einfach überprüft, ob sie mit dem Objekt, das in der ArrayList befindet, stimmt bzw gleich ist. Das Problem liegt eben beim Speicher des Objektes AnmeldenRegistrieren und ich habe keine Ahnung wieso.
Java:
public class Main {
public static void main(String[] args) {
String benutzer, password;
int auswahl, x = 0;
Scanner input = new Scanner(System.in);
AnmeldenRegistrieren anmregi = new AnmeldenRegistrieren();
while(x != 1) {
System.out.println("* Anmelden als User <1> *");
System.out.println("* Anmelden als Admin <2> *");
System.out.println("* Registrieren <3> *");
System.out.println("* EXIT <4> *");
auswahl = input.nextInt();
switch(auswahl){
case 1:
System.out.println("Enlesung vom gespeicherten Object");
try {
ObjectInputStream is = new ObjectInputStream(new FileInputStream("data.ser"));
anmregi = (AnmeldenRegistrieren) is.readObject();
is.close();
} catch (FileNotFoundException e) {
System.out.println("File not found");
} catch (IOException e) {
System.out.println("Error");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println("Geben Sie den Benutzername ein!");
benutzer = input.next();
System.out.println("Passwort eingeben!");
password = input.next();
anmregi.anmelden(benutzer, password);
if(anmregi.getZustand() == true){
System.out.println("Erfolgreiche Anmeldung");
}else{
System.out.println("Fehlgeschlagene Anmeldung");
}
break;
case 2:
//Admin kommt später
break;
case 3:
System.out.println("Geben Sie den Nickname ein!");
benutzer = input.next();
System.out.println("Geben Sie das Passwort ein!");
password = input.next();
anmregi.registrieren(new Benutzer(benutzer, password));
// Objekt wird gespeichert // Problem beim speichern
try {
ObjectOutputStream ou = new ObjectOutputStream(new FileOutputStream("data.ser"));
ou.writeObject(anmregi);
ou.close();
} catch (FileNotFoundException e) {
System.out.println("Klasse wurde nicht gefunden!");
} catch (IOException e) {
System.out.println("Error");
}
break;
case 4:
x = 1;
break;
}
}
}
}
Java:
public class AnmeldenRegistrieren {
private Benutzer user;
private boolean zustand;
private ArrayList<Benutzer> usernameList = new ArrayList<>();
public void registrieren(Benutzer user){
usernameList.add(user);
System.out.println(user.getUsername());
System.out.println(user.getPassword());
}
public boolean anmelden(String nickname, String password){
for(Benutzer i:usernameList){
if(i.getUsername().equals(nickname) && i.getPassword().equals(password)){
zustand = true;
}else{
zustand = false;
}
}
return zustand;
}
public boolean getZustand(){
return zustand;
}
}
Java:
public class Benutzer {
private String username;
private String password;
public Benutzer(String username, String password){
this.username = username;
this.password = password;
}
public String getUsername(){
return username;
}
public String getPassword(){
return password;
}
}
Ich würde mich freuen, wenn mir eine Person helfen könnte!
Zuletzt bearbeitet von einem Moderator: