欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

每日一学(19)——String类方法使用练习

程序员文章站 2023-12-21 23:53:34
...

题目一:获取指定字符串中,大写字母、小写字母、数字的个数。

思路:

1.为了统计大写字母、小写字母、数字的个数。创建3个计数的变量。

2.为了获取到字符串中的每个字符,进行字符串的遍历,得到每个字符。

3.对得到的字符进行判断,如果该字符为大写字母,则大写字母个数+1;如果该字符为小写字母,则小写字母个数+1;如果该字符为数字,则数字个数+1。

4.显示大写字母、小写字母、数字的个数

编码表中大写字母A-Z是65-90,小写是97-122,数字0-9是48-57

题目二:将字符串中,第一个字母转换成大写,其他字母转换成小写,并打印改变后的字符串。

思路:

1.把字符串分为两个部分,第一部分为字符串中第一个字母,第二部分为剩下的字符串。

2.把第一部分字符串转换成大写字母,把第二部分字符串转换成小写字母

3.把两部分字符串连接在一起,得到一个完整的字符串

题目三:查询大字符串中,出现指定小字符串的次数。如“hellojava,nihaojava,javazhenbang”中查询出现“java”的次数。

思路:

1.在大串中,查找小串出现的位置,出现了就次数+1

2.在上次小串出现位置的后面继续查找,需要更改大串的内容为上次未查询到的字符串。

3.回到第一步,继续查找小串出现的位置,直到大串中查询不到小串为止

下面代码的输出结果为:

大写字母的个数为3
小写字母的个数为3
数字的个数为4
转换后的英文为Awer

package day15;

public class stringdemo03 {
	public static void main(String[] args) {
		getCount("Da1Eb3F4c5");
		toConvert("aWER");
		System.out.println(getStringCount("hellojava,nihaojava,javazhenbang","java"));
	}
	/*
	 * 题目三:获取一个字符串中另一个字符串出现的次数
	 * 思想:
	 * 1、indexOf到字符串中找第一次出现的索引
	 * 2、找到的索引+被找字符串长度,截取字符串
	 * 3、计数器++
	 */
	public static int getStringCount(String str,String key){
		//定义一个计数器
		int count=0;
		//定义变量,保存indexOf查找后的索引的结果
		int index=0;
		//开始循环找,条件,indexOf==-1字符串没有了
		while((index=str.indexOf(key))!=-1){
			count++;
			//获取到的索引,和字符串的长度求和,截取字符串
			str=str.substring(index+key.length());
		}
		return count;
	}
	/*
	 * 题目二:获取指定字符串中大写字母、小写字母、数字的个数
	 * 思想:
	 * 1、计算器,就是一个int变量,满足一个条件++
	 * 2、遍历字符串,长度方法length()+charAt()遍历
	 * 3、字符判断是大写,是小写还是数字
	 */
    public static void getCount(String str){
    	//定义三个变量计数
    	int upper=0;
    	int lower=0;
    	int digit=0;
    	//对字符串进行遍历
    	for(int i=0;i<str.length();i++){
    		//String方法charAt,索引,获取字符
    		char c=str.charAt(i);
    		//利用编码表进行判断65-90大写字母97-122小写字母 48-57数字
    		if(c>=65 && c<=90){//还可以把65写成’A’,90写成’Z’
    			upper++;
    		}else if(c>=97 && c<=122){
    			lower++;
    		}else if(c>=48 && c<=57){//注意一定要有if,不然“%”也会算成数字进行输出
    			digit++;
    		}
    	}
    	System.out.println("大写字母的个数为"+upper);
    	System.out.println("小写字母的个数为"+lower);
    	System.out.println("数字的个数为"+digit);
    }
    /*
	 * 题目一:将字符串中首字母转成大写,其他字母转成小写
	 * 思想:
	 * 获取首字母charAt(0) substring(0,1)
	 * 转成大写toUpperCase()
	 * 获取剩余字符substring(1)
	 * 转成小写toLowerCase()
	 */
    public static void toConvert(String str){
    	//定义变量获取首字母和剩余字符
    	String start=str.substring(0,1);
    	String end=str.substring(1);
    	start=start.toUpperCase();
    	//String s1=start.toUpperCase();第二种方法
    	end=end.toLowerCase();
    	//String s2=end.toLowerCase();第二种方法
    	System.out.println("转换后的英文为"+start+end);
    	//System.out.println("转换后的英文为"+s1+s2);
    }
}

题目二的另一种方法:

public static String toConvert(String str){
        //定义变量获取首字母和剩余字符
        String start=str.substring(0,1);
        String end=str.substring(1);
        start=start.toUpperCase();
        //String s1=start.toUpperCase();第二种方法
        end=end.toLowerCase();
        //String s2=end.toLowerCase();第二种方法
        return start+end;
    }

main方法调用中直接输出:System.out.println(toConvert("aWER"););

上一篇:

下一篇: