Erstellen Sie ein Programm, das nach einem Passwort fragt und prüft, ob Ihr richtig oder nicht

dies ist eine Praxis, die ich mache, für meine Zwischenprüfung morgen. Ich kann nicht scheinen, um herauszufinden, das problem mit meinem code, das ist die Frage:

Dass ein Sicheres Passwort ist eine sehr wichtige übung, wenn viel von unserer Informationen
online gespeichert wird. Schreiben Sie ein Programm, das überprüft, ein neues Kennwort ein, die folgenden
Regeln:

• Das Passwort muss mindestens 8 Zeichen lang sein.

• Das Passwort muss mindestens einen Großbuchstaben und einen Kleinbuchstaben

• Das Kennwort muss mindestens eine Ziffer.

Schreiben Sie ein Programm, das nach einem Passwort fragt, dann fragt Sie erneut, um es zu bestätigen. Wenn die
Kennwörter nicht übereinstimmen oder die Regeln nicht erfüllt, wird die Eingabeaufforderung wieder. Ihr Programm
sollte eine Methode, die prüft, ob ein Kennwort gültig ist.

Hier ist der code:

import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author HP Laptop
 */
public class PasswordValidation {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Please enter password : ");
        String password = in.nextLine();
        System.out.print("Please re-enter the password to confirm : ");
        String confirm = in.nextLine();
        boolean condition;
        condition = isValid(password);
        while (!password.equals(confirm) && (!condition)) {
            System.out.println("The password is invalid");
            System.out.print("Please enter the password again : ");
            String Password = in.nextLine();
            System.out.print("Please re-enter the password to confirm : ");
            String Confirm = in.nextLine();


        }
        if (isValid(password)) {
            System.out.println("The password is valid");
        /*} else {
            System.out.println("The password is not valid");
            System.out.print("Please enter the password again : ");
            String Password = in.nextLine();
            System.out.print("Please re-enter the password to confirm : ");
            String Confirm = in.nextLine();
        }*/
    }
    }

    public static boolean isValid(String password) {

        if (password.length() < 8) {
            return false;
        } else {

        for (int i = 0; i < password.length(); i++) {
            if (Character.isUpperCase(password.charAt(i))) {
            }
        }


        for (int b = 0; b < password.length(); b++) {
            if (Character.isLowerCase(password.charAt(b))) {
            }
        }

        for (int c = 0; c < password.length(); c++) {
            if (Character.isDigit(password.charAt(c))) {
            }

        }

        return true;


    }
}
}

Fehler:

Ich geben Sie einen Namen mit weniger als 8 Ziffern und es würde sagen, das ist gültig, wenn seine nicht, auch wenn alle seine gültig und richtig, es nicht zu drucken, dass seine Gültigkeit.

Was sind diese 3 for-Schleifen zu tun?
überprüfen Sie nach jeder Bedingung.
Haben Sie versuchen, Debuggen?
condition ist ein eklig-variable name.
user3821797: als GPRathour und @Dave Newton haben darauf hingewiesen, ich glaube, wenn Ihr Stil eleganter ist, dann würde man viel leichter Debuggen dieses Codes. Ich schlage vor, Sie nennen Namen von Variablen, mehr nützlich und haben viele kleine Funktionen, die jeweils eine ganz bestimmte Aufgabe.

InformationsquelleAutor user3821797 | 2014-07-09

Schreibe einen Kommentar