mardi 21 février 2017

Input String with if dosent work

i have following problem:enter code here

The user has to put his name correct in my program: 1. the name only contain letters, hyphens "-" and blanks " " 2. the first letter should be a capital letter 3. after a blank or hyphens should be followd by a capital letter

for example only this form should accepted by the program: "Name" or "Firstname-Secondname" or "Firstname Secondname".

The 3rd point dosent work in my code:(

My Java code:

public class Test {
    private static Scanner scanner = new Scanner(System.in);
    private static String name;

    public static void main(String[] args) {

        boolean check = false;

        check = checkName();
        System.out.println("Check= "+check);
        output(check);

    }

        public static void output(boolean check) {
            if (check == false) {
                System.out.println("Fehler");
            }   
            if(check == true) {
                System.out.println("Dein Name ist: "+name);
            } 
        }//End output()

    public static boolean checkName() {

        System.out.print("Name: ");
        name = scanner.nextLine();
        boolean check = false;

        if(name.charAt(0) >= 'A' && name.charAt(0) <= 'Z') {

            for(int i=1; i < name.length(); i++) {
                if (name.charAt(i) >= 'a' && name.charAt(i) <= 'z') {                       
                    check = true;
                } else if (name.charAt(i) == '-') {             
                    i++;
                    if(name.charAt(i) >= 'A' && name.charAt(i) <= 'Z') {
                        check = true;                                               
                    } else {
                        check = false;
                    }
                } else if (name.charAt(i) == ' ') {
                    i++;
                    if(name.charAt(i) >= 'A' && name.charAt(i) <= 'Z') {
                        check = true;
                    } else { check = false;
                    }} else { 
                        check = false;
                        break;
                    }
            } 
        } return check;




    }//End checkName()

can someone help please?

Aucun commentaire:

Enregistrer un commentaire