Passwort Generator

JavaBeginner22

Aktives Mitglied
Java:
   private Label label;
    @FXML
    private TextArea taPasswort;
    @FXML
    private Button generatebt;
    String abc="abcdefghijklmnopqrstuvwxyz";
    String buchstaben="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    String zahlenundbuchstaben= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    String zahlen="0123456789";
    
    private ArrayList<String> randomPasswort = new ArrayList<String>();
    private ArrayList<String> randomPasswort2 = new ArrayList<String>();
    private ArrayList<String> randomPasswort3 = new ArrayList<String>(); 
    private ArrayList<String> randomPasswort4 = new ArrayList<String>(); 
 String a;
    @FXML
    private TextField tfZeichen;
    @FXML
    private TextArea taPasswort2;
    @FXML
    private Button generatebt2;
    @FXML
    private RadioButton rbBuchstaben;
    @FXML
    private RadioButton rbSonderzeichen;
    @FXML
    private RadioButton rbZeichen;
    String eingabeMensch;

    
    @Override
    public void initialize(URL url, ResourceBundle rb) {
          
    }   

    @FXML
    private void taPasswort(MouseEvent event) {
    }

    @FXML
    private void generatebt(ActionEvent event) {
     for(int i=0; i<abc.length(); i++){
         Random rnd = new Random();
         char c = abc.charAt(rnd.nextInt(abc.length()));
         randomPasswort.add(c+"");
         if(randomPasswort.size()==8){
             break;
        
        
        
         }
    
    
     }
     a = this.randomPasswort.toString().replace(",","").replace("[","").replace("]","").replaceAll(" ","");
     taPasswort.setText(a+"");

    }

    @FXML
    private void taPasswort2(MouseEvent event) {
    }

    @FXML
    private void generatebt2(ActionEvent event) {
     if(rbBuchstaben.isSelected()){
            eingabeMensch=tfZeichen.getText();
            int eingabe_menschint= Integer.parseInt(eingabeMensch);
            for(int i=0; i<buchstaben.length(); i++){
                 Random rnd = new Random();
                 char c = buchstaben.charAt(rnd.nextInt(buchstaben.length()));
                 randomPasswort2.add(c+"");
                if(randomPasswort2.size()==eingabe_menschint){
                    break;
                
                
                
                }
            
            
            
            }
            a = this.randomPasswort2.toString().replace(",","").replace("[","").replace("]","").replaceAll(" ","");
            taPasswort2.setText(a+"");
            randomPasswort2.clear();
    
     }
    
     else if(rbZeichen.isSelected()&& rbBuchstaben.isSelected()){
            eingabeMensch=tfZeichen.getText();
            int eingabe_menschint= Integer.parseInt(eingabeMensch);
            for(int i=0; i<zahlenundbuchstaben.length(); i++){
                 Random rnd = new Random();
                 char c = zahlenundbuchstaben.charAt(rnd.nextInt(zahlenundbuchstaben.length()));
                 randomPasswort3.add(c+"");
                if(randomPasswort3.size()==eingabe_menschint){
                    break;
                
                
                
                }
            
            
            
            }
            a = this.randomPasswort3.toString().replace(",","").replace("[","").replace("]","").replaceAll(" ","");
            taPasswort2.setText(a+"");
            randomPasswort3.clear();
    
    
    
    
    
     }

Hallo ich habe ein folgendes Problem, wenn meine 2 RadioButtons gewählt werden, also Zahlen und Buchstaben, wird mir nur ein Passwort mit klein und Großbuchstaben generiert. Obwohl es davor noch geklappt hat, und jetzt klappt es nicht mehr kann es mir jemand erklären warum es dazu kam?
 
Die if Abfrage im else wird mir erreicht, denn sobald rbBuchstaben selektiert ist geht er ja in den if Block rein und kommt nicht zum Else Block.

Die Reihenfolge müsstest du also tauschen - erst auf beides prüfen und dann auf ein einzelnes selected.
 

Zurück
Oben