2023/7/19

zhenaifen / 2023-07-20 / 原文

今天主要完成了几道关于字符串的练习题

package 练习;

public class 数字位数 {
    public static void main(String[] args)
    {
        StringBuilder sc=new StringBuilder(); 
        long l=1234567890987654321l;//long型数据后面要标注l,float数据后面要标注f
        sc.append(l);//l不会被录入字符串中
        System.out.println(sc.length());//显示字符串的长度就是数字的数量
    }
}
package 练习;
import java.util.Scanner;
public class 后缀名 {
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        String regex="(.+)(\\.[mM][pP][4])";//先设定正则表达式
        System.out.println("请输入一个文件名字");
        String a=sc.next();
        if(a.matches(regex))//开始判断
        {
            System.out.println("该文件格式为MP4格式");
        }
        else
        {
            System.out.println("该文件格式不是MP4格式");
        }
    }
}
package 练习;

public class 名字最后一个字相同 {
    public static void main(String[] args)
    {
        String[] a=new String[] {"张三","李四","王五","赵六","周七","王哲","白浩","贾蓉","慕容阿三"};
        for(int i=0;i<a.length;i++)
        {
            int b=a[i].length();//找到需要比对的字符串的最后一个字符
            for(int j=i+1;j<a.length;j++)
            {
                int c=a[j].length();//找到被比对的字符串中的最后一个字符
                if(a[i].charAt(b-1)==a[j].charAt(c-1))//判断最后一个字符是否相同,这里得化成字符形式,否则无法直接判断
                {
                    System.out.println(a[i]+"、"+a[j]+"名字最后一个字相同");
                }
            }
        }
    }
}
package 练习;
import java.util.Scanner;
public class 转置字符串 {
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你要转置的字符串:");
        String a=sc.next();
        StringBuilder sb=new StringBuilder(a);//使用容器
        sb.reverse();//直接调用方法来转置字符串
        System.out.println("转置结果为:"+sb);
        /*
        for(int i=0,j=a.length()-1;i<j;i++,j++)
        {
            char b;
            b=sb.charAt(j);
            sb.insert(i,b);
            b=a.charAt(i);
            sb.delete(i+1,i+2);
            sb.insert(j,b);
            sb.delete(j+1,j+2);
        }
        System.out.println("转置结果为:"+sb);
        */
    }
}
package 练习;
import java.util.Scanner;
public class 找书 {
    public static void main(String[] args)
    {
        String book[]=new String[] {"明史讲义","明代社会生活史","紫荆城的黄昏","中国的黄金时代","国史十六讲","停滞的帝国","唐代定居指南"};
        Scanner sc=new Scanner(System.in);
        String a=sc.next();
        boolean flag=true;//判断找没找到的标志
        for(int i=0;i<book.length;i++)
        {
            int b=book[i].indexOf(a);//检索字符串,找到返回值为非-1
            if(b!=-1)
            {
                flag=false;//标志改后就不会输出后面的没找到书
                System.out.println(book[i]);
            }
        }
        if(flag)
        {
            System.out.println("未找到该书");
        }
    }
}