String类的练习 | java

字符串首字母改为大写

需求:把一个字符串的首字母转成大写,其余为小写。

代码实现:

/*
 * 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
 * 举例:
 * 		helloWORLD
 * 结果:
 * 		Helloworld 
 * 分析:
 * 		A:先获取第一个字符
 * 		B:获取除了第一个字符以外的字符
 * 		C:把A转成大写
 * 		D:把B转成小写
 * 		E:C拼接D
 */
public class StringTest {
	public static void main(String[] args) {
		// 定义一个字符串
		String s = "helloWORLD";

		// 先获取第一个字符
		String s1 = s.substring(0, 1);
		// 获取除了第一个字符以外的字符
		String s2 = s.substring(1);
		// 把A转成大写
		String s3 = s1.toUpperCase();
		// 把B转成小写
		String s4 = s2.toLowerCase();
		// C拼接D
		String s5 = s3.concat(s4);
		System.out.println(s5);
		// 优化后的代码
		// 链式编程
		String result = s.substring(0, 1).toUpperCase()
				.concat(s.substring(1).toLowerCase());
		System.out.println(result);
	}
}

统计字符个数

需求:键盘录入一个字符串,统计字符串中大小写字母及数字字符个数 "abcABC123"

 代码实现:

public class StringTest2 {
    public static void main(String[] args) {
        //键盘录入一个字符串数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串数据:");
        String s = sc.nextLine();

        //定义三个统计变量,初始化值都是0
        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;

        //遍历字符串,得到每一个字符
        for(int x=0; x<s.length(); x++) {
            char ch = s.charAt(x);
            //拿字符进行判断
            if(ch>='A'&&ch<='Z') {
                bigCount++;
            }else if(ch>='a'&&ch<='z') {
                smallCount++;
            }else if(ch>='0'&&ch<='9') {
                numberCount++;
            }else {
                System.out.println("该字符"+ch+"非法");
            }
        }

        //输出结果
        System.out.println("大写字符:"+bigCount+"个");
        System.out.println("小写字符:"+smallCount+"个");
        System.out.println("数字字符:"+numberCount+"个");  }
}

统计大串中小串出现的次数

需求:在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
 结果:java出现了5次 

 代码实现1:

package cn.yanqi_04;
public class StringTest3 {
    public static void main(String[] args) {
        // 定义大串
        String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagunjavajava";
        // 定义小串
        String minString = "java";
        //循环  while
        //找java在大串中第一次出现的位置
        int count =0;
        int index;
        while ( (index = maxString.indexOf(minString)) != -1){
            count++;
            //重新计算新的大串开始位置, index + minSring.length()  4+4
            maxString = maxString.substring(index+minString.length());
        }
        System.out.println("java出现的次数为:"+count);
    }
}

代码实现2:

package cn.yanqi_04;
public class GetCount {
    /**
     * 方法-写功能   大串中统计小串出现的次数
     * @param maxString
     * @param minString
     * @return
     */
    public int getStr(String maxString , String minString){
        int count =0;
        int index;
        while ( (index = maxString.indexOf(minString)) != -1 ){
            count++;
            //重新计算新的大串开始位置, index + minSring.length()  4+4
            maxString = maxString.substring(index+minString.length());
        }
        return count;
    }
}
package cn.yanqi_04;
public class Demo {
    public static void main(String[] args) {
        GetCount gc = new GetCount();
        // 定义大串
        String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagunjava";
        // 定义小串
        String minString = "java";
        //调方法看参数列表  看返回类型
        int str = gc.getStr(maxString, minString);
        System.out.println(str);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆不呆~

你的鼓励是我最开心的事情~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值