package com.oracle.demo01;
public class WorkNext {
public static void main(String[] args) {
//题目一:获取指定字符串中,大写字母、小写字母、数字的个数。
String st="QWERtyui1234";
int b=0;
int s=0;
int n=0;
byte [] bytes=st.getBytes();
for(int i=0;i<bytes.length;i++){
if(65<=bytes[i]&&bytes[i]<=90){
b++;
}
if(97<=bytes[i]&&bytes[i]<=122){
s++;
}
if(48<=bytes[i]&&bytes[i]<=57){
n++;
}
}
System.out.println("大写字母的个数:"+b+"小写字母的个数:"+s+"数字的个数:"+n);
//题目二:将字符串中,第一个字母转换成大写,其他字母转换成小写,并打印改变后的字符串。
String st1="12aBc12";
String st2= st1.toLowerCase();
byte [] st3=st2.getBytes();
for(int i=0;i<st3.length;i++){
if(97<=st3[i]&&st3[i]<=122){
st3[i]=(byte)(st3[i]-32);
break;
}
}
String st4=new String(st3);
System.out.println(st4);
//题目三:查询大字符串中,出现指定小字符串的次数。如“hellojava,nihaojava,javazhenbang”中查询出现“java”的次数。
String big="hellojava,nihaojava,javazhenbang";
String small="java";
int c=getCount(big, small);
System.out.println("java出现的次数为"+c+"次");
}
public static int getCount(String big, String small){
int count = 0; //出现小串的次数
int index = 0;//出现小串的位置
/*
while的循环条件三步骤:
步骤一. big.indexOf(small) 获取小串在大串中出现的位置
步骤二. 把小串出现的位置,赋值给变量index
步骤三. 判断出现的位置是否为-1, 如果位置等于-1,说明大串中已经查询不到小串了;
如果位置不等于-1,那么,进行循环,完成次数累加与修改大串的操作
*/
while ((index = big.indexOf(small)) != -1 ){
count++;//出现次数+1
//更改大串内容
big = big.substring(index+small.length());
}
return count;
}
}