字符串首字母改为大写
需求:把一个字符串的首字母转成大写,其余为小写。
代码实现:
/*
* 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
* 举例:
* 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);
}
}