Java学习总结--014校验键盘录入用户名和密码或过滤掉敏感信息

1.请编写程序,校验键盘录入的用户名密码与已创建的用户信息是否一致,并测试。

 import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("用户名:");
        String username = sc.nextLine();
        System.out.println("密码:");
        String password = sc.nextLine();

          boolean flag = check(username,password);
        System.out.println(flag);
    }
    public static boolean check(String username,String password){
        if("admin".equals(username)&&"123456".equals(password)){
            return true;
        }else{
            return false;
        }
    }
}

2.校验键盘录入的用户名是否为正确的格式,并测试。
正确格式要求(用户名长度必须为6-16位数字或字母)

import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("用户名");
        String username = sc.nextLine();

        boolean flag = check(username);
        System.out.println(flag);

    }
    public static boolean check(String username){
        boolean flag = true;
        if(username.length()>=6&&username.length()<=16){
            for(int i=0;i<username.length();i++){
                char ch = username.charAt(i);
                if((!(ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>'A'&&ch<='Z'))){
                    flag=false;
                    break;
                }
            }
        }else{
            flag = false;
        }
        return flag;
    }
}

3.将键盘录入的字符串倒序打印,并测试。
例: 键盘输入:abcde
打印输出:edcba

import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        reversePrint(str);
    }
    private static void reversePrint(String str) {
        for(int i=str.length()-1;i>=0;i--){
            System.out.println((str.charAt(i)));
        }
    }
}

4.统计键盘录入的字符串中包含大写字母、小写字母、数字的个数,并测试。

  import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        printcount(str);
    }
    private static void printcount(String str) {
        int bigcount=0,smallcount=0,numcount=0;
        for(int i=0;i<str.length();i++){
            char ch = str.charAt(i);
            if(ch>='0'&&ch<='9'){
                numcount++;
            }else if(ch>='a'&&ch<='z'){
                smallcount++;
            }else if(ch>='A'&&ch<='Z'){
                bigcount++;
            }
        }
        System.out.println("大写字母为:"+bigcount);
        System.out.println("小写字母为:"+smallcount);
        System.out.println("数字为:"+numcount);
    }
}

5.将键盘录入的字符串中敏感字符过滤掉,并测试。
例: 敏感字: 奥巴马、普京
键盘输入: 我喜欢奥巴马呀,还喜欢普京
打印输出: 我喜欢呀,还喜欢

package org.westos.demo18;
import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
       String resultStr = stringFilter(str);
        System.out.println(resultStr);
    }
    private static String stringFilter(String str) {
                String[] filters = {"奥巴马","金正恩","普金"};
                for(int i=0;i<filters.length;i++){
                    String filter = filters[i];
                    str = str.replace(filter,"*");
                }
        return str;
    }
}

6.统计键盘录入的字符串中出现了几次字符串”java”,并测试
例: 键盘输入:woyaoxuejava,xihuanjava,aijava,javajavawozuiai

package org.westos.demo19;
import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int count = countTotal(str, "java");
        System.out.println(count);
    }

    private static int countTotal(String str, String java) {
              int count = 0;
              while(str.contains("java")){
                  count++;
                  int index = str.indexOf("java");
                  str = str.substring(index+1);
              }
        return count;
    }
}

猜你喜欢

转载自blog.csdn.net/web116629/article/details/89500325