题目一:获取指定字符串中,大写字母、小写字母、数字的个数。
思路:
1.为了统计大写字母、小写字母、数字的个数。创建3个计数的变量。
2.为了获取到字符串中的每个字符,进行字符串的遍历,得到每个字符。
3.对得到的字符进行判断,如果该字符为大写字母,则大写字母个数+1;如果该字符为小写字母,则小写字母个数+1;如果该字符为数字,则数字个数+1。
4.显示大写字母、小写字母、数字的个数
编码表中大写字母A-Z是65-90,小写是97-122,数字0-9是48-57
题目二:将字符串中,第一个字母转换成大写,其他字母转换成小写,并打印改变后的字符串。
思路:
1.把字符串分为两个部分,第一部分为字符串中第一个字母,第二部分为剩下的字符串。
2.把第一部分字符串转换成大写字母,把第二部分字符串转换成小写字母
3.把两部分字符串连接在一起,得到一个完整的字符串
package day15;
public class stringdemo03 {
public static void main(String[] args) {
getCount("Da1Eb3F4c5");
toConvert("aWER");
}
/*
* 获取指定字符串中大写字母、小写字母、数字的个数
* 思想:
* 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"););