Java中String常用的成员方法案例

标题String常用的成员方法

	//连接字符
	public String concat(String str);
	
	
	//判断是否包含某个小串
	public boolean contains(String s);
	
	
	//判断是否以某个小串开头
	public boolean startsWith(String s);
	//判断是否以某个小串结尾
	public boolean endsWith(String s);
	
	
	//查找目标字符串第一次出现的索引
	public int indexOf(String str);
	//查找目标字符串最后一次出现的索引
	public int lastindexOf(String str);
	
	
	//替换所有子串
	public String replace(String target,String replacement);
	
	
	//从指定索引开始直到结束截取子串
	public String substring(int beginIndex)//从指定索引开始(包含)直到指定索引结束(不包含)截取子串
	public String substring(int beginIndex, int endIndex);
	

	//把字符串转成字符数组
	public char[] toCharArray();
	

	//把字符串按照某个分割符分成多个子串
	public String[] split(String regex);
	

	//去掉字符串"两端两端两端"的空格
	public String trim();
	
	
	//把字符串转成纯小写
	public String toLowerCase();
	//把字符串转成纯大写
	public String toUpperCase();

String常用成员方法的实例

public class StringDemo {
    public static void main(String[] args) {
        //String的常见方法
        //1.public String concat(String str);//连接字符
        String s1 = "Hello";
        String s = s1.concat("World");
        System.out.println(s);
        //说明:
        // a.+号可以拼接任意类型,concat只能拼接字符串
        // b.从性能出发,concat性能优于+
        //2.public boolean contains(String s);//判断是否包含某个小串
        String s2 = "HelloJavaWorld";
        boolean b2 = s2.contains("Java");
        System.out.println(b2);
        //3.public boolean startsWith(String s);//判断是否以某个小串开头
        //4.public boolean endsWith(String s);//判断是否以某个小串结尾
        String s3 = "HelloWorldJava";
        boolean b3 = s3.startsWith("Hel");
        boolean b4 = s3.endsWith("va");
        System.out.println(b3);
        System.out.println(b4);
        //说明: startsWith判断姓式 endsWith判断文件的后缀
        //5.public int indexOf(String str);//查找目标字符串第一次出现的索引
        //6.public int lastindexOf(String str);//查找目标字符串最后一次出现的索引
        String s5 = "JavaHelloWorldJava";
        int index5 = s5.indexOf("Java");
        System.out.println(index5);
        int index6 = s5.lastIndexOf("Java");
        System.out.println(index6);
        //说明:如果没有找到,返回-1,此时-1不代表索引,代表没有找到
        //7.public char[] toCharArray();//把字符串转成字符数组
        String s7 = "HelloJava";
        char[] ch7 = s7.toCharArray();
        System.out.println(Arrays.toString(ch7));
        //8.public String[] split(String regex);//把字符串按照某个分割符分成多个子串
        String s8 = "GJK7JB我爱46KFB我爱7HJF89我爱JKN789";
        String[] ss = s8.split("我爱");
        System.out.println(Arrays.toString(ss));
        //说明:这里的分割符不一定是符号,不一定是单个!
        //9.public String trim();//去掉字符串"两端两端两端"的空格
        String s9 = "   Ja   va   ";
        System.out.println("-->"+s9+"<---");
        String trim = s9.trim();
        System.out.println("-->"+trim+"<---");
        //10.public String toLowerCase();//把字符串转成纯小写
        //11.public String toUpperCase();//把字符串转成纯大写
        String s10 = "HeLloWOrLd";
        String lowerCase = s10.toLowerCase();
        String upperCase = s10.toUpperCase();
        System.out.println("纯小写:"+lowerCase);
        System.out.println("纯大写:"+upperCase);
    }
}	

案例1

需求:请用户从控制台输入一个“Email地址”,程序接收后判断此Email地址中是否包含@符号和.符号,如果全部包含,打印:合法,否则打印:不合法的Email地址。

import java.util.Scanner;

/**
 * 请用户从控制台输入一个“Email地址”,
 * 程序接收后判断此Email地址中是否包含@符号和.符号,
 * 如果全部包含,打印:合法,否则打印:不合法的Email地址。
 */
public class Demo01 {
    public static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        System.out.println("请输入邮箱地址:");
        String Email = sc.next();
        // 判断邮箱是否存在"@"符号
        if(Email.contains("@")){
            // 判断邮箱是否存在"."符号
            if(Email.contains(".")){
                System.out.println("合法邮箱地址!");
                System.out.println(Email);
            }else{
                System.out.println("邮箱不合法");
            }
        }else{
            System.out.println("邮箱不合法");
        }

    }
}

案例2

需求:请用户从控制台输入一个java文件的名字,例如:Test.java,请编程实现以下功能:
判断此文件名是否以“.java”结尾,并打印结果
获取此文件中.符号的索引位置,并打印结果

import java.util.Scanner;

/**
 * 请用户从控制台输入一个java文件的名字,例如:Test.java,请编程实现以下功能:
 * 判断此文件名是否以“.java”结尾,并打印结果
 * 获取此文件中.符号的索引位置,并打印结果
 */
public class Demo02 {

    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("请输入一个Java文件名字:");
        String next = sc.next();
        // 判断文件名是否以".java"结尾
        if(next.endsWith(".java")){
            System.out.println("java文件:" + next);
            // 直接输出"."在文件名中的索引值
            System.out.println("其中.的索引位置:" + next.indexOf("."));
        }else{
            System.out.println("不是Java文件!");
        }
    }
}

案例3

需求:程序模拟一个论坛发帖的过程,请用户输入一个发帖内容,例如:
“积分看电视了几分我特朗普将反恐文件风IE哦特朗普积分哦忘记特朗普”
请将字符串中所有的”特朗普”替换为"*"符号。

import java.util.Scanner;

/**
 * 程序模拟一个论坛发帖的过程,请用户输入一个发帖内容,例如:
 * "积分看电视了几分我特朗普将反恐文件风IE哦特朗普积分哦忘记特朗普"
 * 请将字符串中所有的”特朗普”替换为"*"符号。
 */
public class Demo03 {
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("请输入你要发送的内容:");
        String next = sc.next();
        // 把内容中的"马化腾"替换成"*"
        String newNext = next.replace("马化腾", "*");
        System.out.println(newNext);
    }
}


案例4

需求:程序模拟一个论坛发帖的过程,请用户输入一个发帖内容,例如:
“积分看电视普京了几分我特朗普将反恐文件风IE哦特朗普积分哦忘记普京”
请定义一个关键字数组:
String[] keyArray = {“特朗普”,”普京”};
请将字符串中包含的数组中的关键字替换为*符号。

import java.util.Scanner;

/**
 * 程序从控制台接收一个java文件的文件名,例如:test.java,TEST.java,tEst.JAVA,请编程实现以下功能:
 * 获取,并打印文件名的第一个字符;
 * 获取,并打印文件的后缀名(包括.符号),例如:.java
 * 无论原文件名什么样,最终将其转换为:Test.java的形式,打印转换后的文件名。
 */
public class Demo05 {
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("请输入一个java文件名:");
        String next = sc.next();
        // 打印文件名第一个字符
        String substring = next.substring(0, 1);
        System.out.println(substring);
        // 打印后缀名
        next.substring(next.length() - 5);
        // 把格式改为Test.java格式
        // 把next转为纯小写
        String s = next.toLowerCase();
        //把首字符大写
        String s1 = substring.toUpperCase();
        // 把大写首字母和后面的字符拼接
        System.out.println(s1 + s.substring(1));
    }
}

案例5

需求:程序从控制台接收一个java文件的文件名,例如:test.java,TEST.java,tEst.JAVA,请编程实现以下功能:
获取,并打印文件名的第一个字符;
获取,并打印文件的后缀名(包括.符号),例如:.java
无论原文件名什么样,最终将其转换为:Test.java的形式,打印转换后的文件名。

import java.util.Scanner;

/**
 * 程序从控制台接收一个java文件的文件名,例如:test.java,TEST.java,tEst.JAVA,请编程实现以下功能:
 * 获取,并打印文件名的第一个字符;
 * 获取,并打印文件的后缀名(包括.符号),例如:.java
 * 无论原文件名什么样,最终将其转换为:Test.java的形式,打印转换后的文件名。
 */
public class Demo05 {
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("请输入一个java文件名:");
        String next = sc.next();
        // 打印文件名第一个字符
        String substring = next.substring(0, 1);
        System.out.println(substring);
        // 打印后缀名
        next.substring(next.length() - 5);
        // 把格式改为Test.java格式
        // 把next转为纯小写
        String s = next.toLowerCase();
        //把首字符大写
        String s1 = substring.toUpperCase();
        // 把大写首字母和后面的字符拼接
        System.out.println(s1 + s.substring(1));
    }
}

案例6

需求:程序从控制台一次性接收一个学员信息,要求程序必须能正确处理以下几种格式的数据:
“张三,20,男”
" 张三 , 20 ,男"
编程:
定义学员类,可以存储上述数据(姓名String,年龄int,性别char)
定义测试类,创建一个学员对象,从控制台接收一名学员信息,并能正确解析,并将数据存储到学员对象中,最后打印这个学员对象的所有属性的值

// Student类
public class Student {
    private String name;
    private int age;
    private char sex;
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex=" + sex +
                '}';
    }
    public Student() {
    }
    public Student(String name, int age, char sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public char getSex() {
        return sex;
    }
    public void setSex(char sex) {
        this.sex = sex;
    }
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

/**
 * 程序从控制台一次性接收一个学员信息,要求程序必须能正确处理以下几种格式的数据:
 * "张三,20,男"
 * "   张三   ,     20    ,男"
 * 编程:
 * 定义学员类,可以存储上述数据(姓名String,年龄int,性别char)
 * 定义测试类,创建一个学员对象,从控制台接收一名学员信息,并能正确解析,并将数据存储到学员对象中,最后打印这个学员对象的所有属性的值
 */
public class Demo06 {
    public static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        System.out.println("请输入学院信息");
        String next = sc.nextLine();
        // 把信息中的空格替换成空字符
        next = next.replace(" ", "");
        // 使用","隔开
        String[] split = next.split(",");
        String name = split[0];
        int age = Integer.parseInt(split[1]);
        char sex = split[2].charAt(0);
        Student stu  = new Student(name,age,sex);
        System.out.println(stu);
    }
}

案例7

需求:键盘录入QQ号码,验证格式的正确性。
必须是5—12位数字。
0不能开头。
代码实现,效果如图所示:
在这里插入图片描述

import java.util.Scanner;

/**
 * 键盘录入QQ号码,验证格式的正确性。
 * 必须是5—12位数字。
 * 0不能开头
 */
public class Demo07 {
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("请输入qq");
        String qq = sc.next();
        // 判断qq的长度
        if(qq.length() > 5 && qq.length() < 12){
            // 判断qq是否以0开头
            if(qq.startsWith("0")){
                System.out.println("不合法qq");
            }else{
                System.out.println("这个qq是合法的");
                System.out.println("qq:" + qq);
            }
        }else{
            System.out.println("不合法");
        }
    }
}

案例8

需求:字符串查找。
键盘录入一个大字符串,再录入一个小字符串。
统计小字符串在大字符串中出现的次数。
代码实现,效果如图所示:
在这里插入图片描述

import java.util.Scanner;

/**
 * 字符串查找。
 * 键盘录入一个大字符串,再录入一个小字符串。
 * 统计小字符串在大字符串中出现的次数。
 * 代码实现,效果如图所示:
 */
public class Demo08 {
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("输入一个字符串:");
        String str1 = sc.next();
        System.out.println("在输入一个小字符串:");
        String str2 = sc.next();
        int count = 0;
        // 遍历str1字符串
        for (int i = 0; i < str1.length(); i++) {
            // 判断str1中是否存在str2
            if(str1.contains(str2)){
                // 截取str2.length() + str1.indexOf(str2)以后的字符串重新赋值给str1
                str1 = str1.substring(str2.length() + str1.indexOf(str2));
                count++;
            }
        }
        System.out.println(count);
    }
}

案例9

需求:替换某字符串中的某字符串。
键盘录入一个srcStr字符串,再录入一个delStr字符串。
删除该字srcStr符串中的所有delStr字符串。
代码实现,部分效果如图所示:
在这里插入图片描述

import java.util.Scanner;

/**
 * 替换某字符串中的某字符串。
 * 键盘录入一个srcStr字符串,再录入一个delStr字符串。
 * 删除该字srcStr符串中的所有delStr字符串。
 * 代码实现,部分效果如图所示:
 */
public class Demo09 {
    public static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("请输入源字符串:");
        String str = sc.next();
        System.out.println("请输入要删除的字符串:");
        String delete = sc.next();
        int count = 0;
        // 把str中的delete替换成空字符
        String replace = str.replace(delete, "");
        for (int i = 0; i < str.length(); i++) {
            if(str.contains(delete)){
                str = str.substring(delete.length() + str.indexOf(delete));
                count++;
            }
        }
        System.out.println("源字符串包含:" + count + "个" + delete);
        System.out.println("删除" + delete + "后的字符串为:" + replace);
    }
}

案例10

需求:筛选字符串。
定义ArrayList集合,存入多个字符串。
长度大于5的字符串,打印删除后的集合。
代码实现,效果如图所示:
在这里插入图片描述

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

/**
 * 筛选字符串。
 * 定义ArrayList集合,存入多个字符串。
 * 长度大于5的字符串,打印删除后的集合。
 * 代码实现,效果如图所示:
 */
public class Demo10 {
    public static Scanner sc = new Scanner(System.in);
    public static ArrayList<String> list = new ArrayList<>();
    public static void main(String[] args) {
        list.add("我爱java");
        list.add("java");
        list.add("java有趣");
        list.add("c++");
        list.add("c");
        list.add("熟练使用java");
        list.add("每日Java");
        list.add("~~~~~~~");
        System.out.println("源字符串:");
        System.out.print("[");
        for (int i = 0; i < list.size() - 1; i++) {
            System.out.print(list.get(i) + ",");
        }
        System.out.println(list.get(list.size() - 1) + "]");
        for (int i = 0; i < list.size(); i++) {
            // 判断元素的长度是否大于5
            if(list.get(i).length() > 5){
                list.remove(i);
                // 每次删除都需要冲原来位置继续往后查找
                i--;
            }
        }
        System.out.println("删除后:");
        System.out.print("[");
        for (int i = 0; i < list.size() - 1; i++) {
            System.out.print(list.get(i) + ",");
        }
        System.out.println(list.get(list.size() - 1) + "]");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值