package 编程练习题chapter9;
import java.util.Scanner;
public class Exercise9_1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a string for SSN: ");
        String s = input.nextLine();
        
        if (isValidSSN(s)) {
            System.out.println("Valid SSN");
        }
        
        else {
            System.out.println("Invalid SSN");
        }
    }
    public static boolean isValidSSN(String ssn) {
        return ssn.length() == 11 &&
                Character.isDigit(ssn.charAt(0)) &&
                Character.isDigit(ssn.charAt(1)) &&
                Character.isDigit(ssn.charAt(2)) &&
                ssn.charAt(3) == '-' &&
                Character.isDigit(ssn.charAt(4)) &&
                Character.isDigit(ssn.charAt(5)) &&
                ssn.charAt(6) == '-' &&
                Character.isDigit(ssn.charAt(7)) &&
                Character.isDigit(ssn.charAt(8)) &&
                Character.isDigit(ssn.charAt(9)) &&
                Character.isDigit(ssn.charAt(10));
    }
}
package 编程练习题chapter9;

import java.util.Scanner;

public class Exercise9_2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter the first string: ");
        String first = input.nextLine();

        System.out.print("Enter the second string: ");
        String second = input.nextLine();

        if (isSubstring(first, second)) {
            System.out.println(first + " is a substring of " + second);
        } else {
            System.out.println(first + " is not a substring of " + second);
        }
    }

    public static boolean isSubstring(String first, String second) {
        int remainingLength = second.length();
        int startingIndex = 0;
        toWhile: while (first.length() <= remainingLength) {
            for (int i = 0; i < first.length(); i++) {
                if (first.charAt(i) != second.charAt(startingIndex + i)) {
                    startingIndex++;
                    remainingLength--;
                    continue toWhile;
                }
            }
            return true;
        }
        return false;
    }

}
package 编程练习题chapter9;

import java.util.Scanner;

public class Exercise9_3 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter a string for password: ");
        String s = input.nextLine();

        if (isValidPassword(s)) {
            System.out.println("Valid password");
        } else {
            System.out.println("Invalid passsword");
        }
    }

    public static boolean isValidPassword(String s) {
        for (int i = 0; i < s.length(); i++) {
            if (!Character.isLetter(s.charAt(i))
                    && !Character.isDigit(s.charAt(i)))
                return false;
        }
        if (s.length() < 8)
            return false;

        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            if (Character.isDigit(s.charAt(i)))
                count++;
        }

        if (count >= 2)
            return true;
        else
            return false;
    }
}
package 编程练习题chapter9;

import java.util.Scanner;

public class Exercise9_11 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String s = input.nextLine();
        System.out.println("Sorted string is " + sort(s));
    }

    public static String sort(String s) {
        StringBuilder buffer = new StringBuilder(s);
        char currentMax;
        int currentMaxIndex;
        for (int i = buffer.length() - 1; i >= 1; i--) {
            currentMax = buffer.charAt(i);
            currentMaxIndex = i;
            for (int j = 1; j <= i; j++) {
                if (currentMax < buffer.charAt(j)) {
                    currentMax = buffer.charAt(j);
                    currentMaxIndex = j;
                }
            }
            if (currentMaxIndex != i) {
                buffer.setCharAt(currentMaxIndex, buffer.charAt(i));
                buffer.setCharAt(i, currentMax);
            }
        }
        return buffer.toString();
    }
}

 

posted on 2013-02-14 22:04  bailun  阅读(2637)  评论(0编辑  收藏  举报