Hallo,
ich spiele gerade ein wenig mit Java herum um mich mit der Sprache ein wenig vertraut zu machen.
Nun wollte ich als kleine Spielerei ein ganz simplen login bauen.
Und obwohl die Eingabe gleich mit ist mit dem was sie sein soll bekomme ich ein "false" wenn ich die beiden Variablen miteinander vergleiche.
package playground;
import java.io.*;
public class Playground {
public static void main(String args[]){
//Gibt ausgabe "Login" aus und ruft "loginName"
System.out.println("Login");
loginName();
}
//Im großen und ganzen von http://alvinalexander.com/java/edu/pj/pj010005 kopiert
public static void loginName(){
//Loginname ist "user"
String login ="user";
System.out.print("Please enter your name: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String userName = null;
try {
userName = br.readLine();
} catch (IOException ioe) {
System.out.println("IO error trying to read your name!");
System.exit(1);
}
//Debugging
System.out.println(userName);
System.out.println(login);
System.out.println(userName == login);
//Willkommensnachricht wenn userName = "user" ist
if(userName == login) {
System.out.println("You'r now logged in.\n Welcome " + userName);
}
else {
System.out.println("Not in our database!");
}
}
}
Was mache ich bei falsch?
Beste Grüße
version2.0