• Java 18 String 常用API


     利用str.equals(str1) 实现小案例账号密码登录校验 利用str.equalsIgnoreCase(str1)实现验证码忽略大小写登录验证

    package com.heima.StringDemo;
    
    
    import java.util.Random;
    import java.util.Scanner;
    
    //模拟登录验证
    public class StrApi {
        public static void main(String[] args) {
            String name = "张三";
            String password = "123456";
            String code="";
            while (true) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入用户名账号");
                //获取us
                String us = sc.next();
                System.out.println("请输入用户名密码");
                //获取ps
                String ps = sc.next();
                //随机生成验证码
                code=Verification(5);
                System.out.println("请输入验证码"+code);
                String newCode=sc.next();
    
                //str.equals(str1) 比较两个字符串的值是否相同;
                //str.equalsIgnoreCase() 比较两个字符串的值是否相同 忽略大小写;
    
                //验证码正确
                if (code.equalsIgnoreCase(newCode)) {
                    //账号密码正确
                    if(name.equals(us) && password.equals(ps)){
                        System.out.println("登录成功");
                        break;
                    }else{
                        System.out.println("账号密码错误,请重新输入");
                    }
                } else {
                    System.out.println("验证码错误,请重新输入");
                }
            }
        }
    
        public static String Verification(int n) {
            Random r = new Random();
            //存储Str
            String code = "";
            //随机生成n为啥的验证码  验证码 由 大写字母 小写字母 数字组成
            for (int i = 0; i < n; i++) {
                //随机大 小写  数字
                int a = r.nextInt(3);
                //switch 判断选择生成
                switch (a) {
                    //生成数字
                    case 0:
                        code += r.nextInt(10);
                        break;
                    //生成大写字母 在ASCLL码中范围 65-90 在强制转换成字符
                    case 1:
                        code += (char) (r.nextInt(25) + 65);
                        break;
    
                    //生成小写字母 在ASCLL码中范围 97-122
                    case 2:
                        code += (char) (r.nextInt(25) + 97);
                        break;
                }
            }
            return code;
        }
    }
    View Code

    常用API方法

    package com.heima.StringDemo;
    
    public class StrApi1 {
        public static void main(String[] args) {
            //1 public int length(): 获取字符串的长度; 简单记:str.length();
            String name="我爱你中国love";
            System.out.println(name.length());//9
    
            //2 public char charAt(int index);获取某个位子索引出的字符 str.charAt(index);(查找str指定索引位子的字符)
            System.out.println(name.charAt(1));;////遍历字符串中的每个字符
            for (int i=0;i<name.length();i++){
                char r=name.charAt(i);
                System.out.println(r);
            }
    
            //3 public char[] toCharArray() ;把字符串转换成字符串数组(不改变原有字符串)
            char[] chars=name.toCharArray();
            System.out.println(chars.length);//9
            System.out.println(name);
    
            //4 public String substring(int beginIndex,int endIndex);截取字符串 截前不截后
            String name1=name.substring(0,3);
            System.out.println(name1);//我爱你
    
            //5 public String substring(int beginIndex); 从当前一直截取到末尾
            String name2=name.substring(4);
            System.out.println(name2);//国love
    
            //6 public String  replace( CharSequence target,CharSequence replacement ); str.replace(oldStr,newStr)
            String name3="金三胖最厉害的80后,金三胖棒棒的!";
            String s1=name3.replace("金三胖","***");
            System.out.println(s1);
    
            //7 public boolean  contains(CharSequence s);  判断字符串中是否包含指定的字符串 str.contains(str1); true 包含 false  不包含
            System.out.println(name3.contains("金三胖"));//true;
            System.out.println(name3.contains("金二胖"));//false;
    
            //8 public boolean startsWith(String prefix); 判断 字符串是否以什么开始
            System.out.println(name3.startsWith("金三胖"));//true
            System.out.println(name3.startsWith("金二胖"));//false
    
            //9 public String[] split(String s): 按照某个内容把字符串分割成某个数组返回
            String name4="王宝强,贾乃亮,陈羽凡";
            String [] s2=name4.split(",");
            for (int i = 0; i < s2.length; i++) {
                System.out.println(s2[i]);
            }
    
        }
    }
    View Code

  • 相关阅读:
    四、jdk工具之jstat命令2(Java Virtual Machine Statistics Monitoring Tool)详解
    Blob、InputStream、byte[]、String互转
    从 iBatis 到 MyBatis
    MySQL类型之(字符串列类型区分、数据类型区分)
    实体机与虚拟机linux文件互拷贝
    高并发高负载的大型网站系统架构
    JDK的动态代理深入解析(Proxy,InvocationHandler)(转)
    mysql索引之九:重复索引和冗余索引,索引和锁
    linux时间同步,ntpd、ntpdate
    mysql函数之十:mysql 字符串类型及二进制字符串类型大小写比较
  • 原文地址:https://www.cnblogs.com/lvlisn/p/16405683.html
Copyright © 2020-2023  润新知