Java(day7)

字符串练习

生成验证码

java 复制代码
package day6;
/*生成验证码
内容:可以是小写字母,也可以是大写字,还可以是数字
规则:
长度为5
内容中是四位字母,1位数字。
其中数字只有1位,但是可以出现在任意的位置。*/
import java.util.Random;
import java.util.StringJoiner;

public class test6 {
    public static void main(String[] args) {
        Random r=new Random();
        String arr1="qwertyuiopasdfghjklzxcvbnm",
                arr2="QWERTYUIOPASDFGHJKLZXCVBNM",
                arr3="1234567890";
        boolean flag=false;//记录数字是否出现
        StringBuilder a=new StringBuilder();
        for (int i = 0; i < 5; ) {
            int b=r.nextInt(1,4);
            //随机生成1-3,1就小写字母,2就大写字母,3就数字
            if(b==1)
            {
                int c=r.nextInt(0,arr1.length());//生成随机索引
                a.append(arr1.charAt(c));
                i++;
            }
            else if(b==2){
                int c=r.nextInt(0,arr2.length());//生成随机索引
                a.append(arr2.charAt(c));
                i++;
            }
            else if(b==3){
                if(!flag){
                    int c=r.nextInt(0,arr3.length());//生成随机索引
                    a.append(arr3.charAt(c));
                    flag=true;
                    i++;
                }
                else
                    ;
            }
        }
        System.out.println("生成的验证码是:"+a.toString());
    }
}

字符串乘积

java 复制代码
package day6;
/*给定两个以字符申形式表示的非负整数num1和num2,返回numd和lnum2的乘积,它们的乘积也表示为字符申形式
注意:需要用已有的知识完成*/
public class test7 {
    public static void main(String[] args) {
        String num1="66",num2="100";
        char arr1[] = new char[num1.length()];char arr2[]= new char[num2.length()];
        //String 类型的变量num1,num2转变为char类型的数组
        for (int i = 0; i < num1.length(); i++) {
            arr1[i]=num1.charAt(i);
        }
        for (int i = 0; i < num2.length(); i++) {
            arr2[i]=num2.charAt(i);
        }
        int x=0,y=0,k=1,j=1;//x接收num1,y接受num2
        for (int i = arr1.length-1; i >=0 ; i--) {
            x+=(int)(arr1[i]-'0')*k;
            k*=10;
        }
        for (int i = arr2.length-1; i >=0 ; i--) {
            y+=(int)(arr2[i]-'0')*j;
            j*=10;
        }
        int result=x*y;
        StringBuilder a=new StringBuilder();//接收结果
        while (result>0){
           a.append((char)((result%10)+'0'));
           result/=10;
        }
        StringBuilder b=a.reverse();
        System.out.println(b.toString());
    }
}

字符串最后一个单词

java 复制代码
package day6;
/*给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。
返回字符串中最后一个单词的长度。
词是指仅由字母组成,不包含何格字符的最大子字符中
示例1;输入;s="he11owor1d" drr输出:5
解释:最后一个单词是"wor1d",长度为5.
示例2:输入:s="f1ymeto themoon 输出:4
解释:最后一个单词是"moon",长度为4.
示例3:输入:s="1uffyissti11joyboy" 输出:6
解释:最后一个单词是长度为6的"joyboy".*/
public class test8 {
    public static void main(String[] args) {
        String s = "Hello World   ";
        // 去除字符串末尾的空格
        s = s.trim();
        int lastIndex = -1;
        for (int i = s.length() - 1; i >= 0; i--) {
            if (s.charAt(i) == ' ') {
                lastIndex = i;
                break;
            }
        }
        int result;
        if (lastIndex == -1) {
            result = s.length();
        } else {
            result = s.length() - lastIndex - 1;
        }
        System.out.println("最后一个单词的长度为: " + result);
    }
}
相关推荐
浮游本尊31 分钟前
Java学习第22天 - 云原生与容器化
java
渣哥2 小时前
原来 Java 里线程安全集合有这么多种
java
间彧2 小时前
Spring Boot集成Spring Security完整指南
java
间彧3 小时前
Spring Secutiy基本原理及工作流程
java
Java水解4 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆6 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学6 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole6 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端
华仔啊7 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端