Variable aus einer anderen Klasse Verwenden

OlafHD

Mitglied
Hallo

ich hab wieder mal eine Frage und zwar möchte ich zwei Variablen aus zwei Klassen Vergleichen

Das ist meine erste Klasse:
Java:
public class abgleich {
   
    public abgleich() throws IOException {
         
        FileReader fr = new FileReader("e://Kasse//System//Login//User.dbl");
        BufferedReader br = new BufferedReader(fr);

        String name = br.readLine();
        System.out.println(name);
        String pin = br.readLine();
        System.out.println(pin);
        br.close();
       
       
             
    }
}

Diese Klasse ließt den Wert "name" und "pin" aus

Dies ist meine Zweite Klasse:
Java:
public class Best implements ActionListener{
   
    JPasswordField pwfl;
   
    public Best(JPasswordField pwfl){
        this.pwfl = pwfl;
       
       
    }
   
    @Override
    public void actionPerformed(ActionEvent e) {
       
        if(){       //Vergleichen der Werte "pin" und  " pwfl"
           
        }
       
    }

}

Hier soll der Wert "pin" in dieser Klasse nutzbar gemacht werden und dann in der if abfrage sollen die Werte "pin" und "pwfl" verglichen werden.

Danke für eure Hilfe
 
Also deine Seite hat mir ein bisschen geholfen aber jetz habe ich ein neues problem ich möchte die Variable pin in der IF Abfrage abfragen können aber er nimmt die Variable nicht

Java:
public class Best implements ActionListener{
   
    JPasswordField pwfl;
    String name;
   
    public Best() throws IOException {
         
        FileReader fr = new FileReader("e://Kasse//System//Login//User.dbl");
        BufferedReader br = new BufferedReader(fr);

        String name = br.readLine();
        System.out.println(name);
        String pin = br.readLine();
        System.out.println(pin);
        br.close();
       
       
             
    }
   
    public Best(JPasswordField pwfl){
        this.pwfl = pwfl;
       
       
    }
   
    @Override
    public void actionPerformed(ActionEvent e) {
       
        if(pin == pwfl ){
           
        }
       
    }

}
 
Moin,

mal ganz davon abgesehen, dass Du Strings NICHT mit '==' vergleichen könntest (!!), ist der String 'pin' nur innerhalb Deiner Methode "Best()" bekannt !!

BTW: Du hast sowohl eine Klassenvariable 'name' als auch eine lokale Variable gleichen Namens innerhalb von "Best()" ...
dies wird Dich garantiert immer wieder verwirren 😛

Gruß Klaus
 
Morgen @VfL_Freak
Mir ist das auch schon aufgefallen das ich es mit equals machen muss.
Die lokale Variable name war zu ausprobieren wie ich die Variable name von Best() auf die lokale Variable bekomme😀
 
Morgen

Ne ich hab bloss vergessen die Variable zu löschen da war schon mehr😉
Wenn man des meint dann sollte man meiner Meinung auf java nochmal neu lernen😵
 
Es soll jetzt nicht falsch klingen aber ich finde wenn man meint da man die Variablen gleich heißen das man gleich den gleichen wert hat dann fehlt finde ich das wichtigste in Java und man sollte sich es dann nochmal anschauen. Meiner Meinung nach 😳
 
Nur so als kleine Frage: du vergleichst einen String mit einem JPasswordField ? Um das eingegeben Passwort zu erhalten ( einen String, was du vermutlich willst), musst du die Methode #getPassword() verwenden.
Also dann sowas:
Java:
if(pin.equals(jpwf.getPassword()){
    //code
}
 

Zurück
Oben