Java探索之string字符串的应用代码示例
String类中提供了丰富的用于操作字符串的方法。
intindexOf(Stringstr)
该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
重载的方法
intindexOf(Stringstr,intformIndex),从指定下标处(包含)查询子串,返回返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
用自己的算法实现startsWith和endsWith功能。
packagecom.hz.practice;
/**
*1.用自己的算法实现startsWith和endsWith功能。
*@authorztw
*
*/
publicclassPractice01{
publicstaticvoidmain(String[]args){
Stringstr="qwewrewr";
//booleantemp=str.endsWith("r");
//System.out.println(temp);
/*
*startsWith
*/
char[]arr=str.toCharArray();
charc='r';
if(arr[0]==c){
System.out.println("true");
}else{
System.out.println("false");
}
/*
*endsWith
*/
if(arr[arr.length-1]==c){
System.out.println("true");
}else{
System.out.println("false");
}
}
}
输出结果:
false true
2.采用字符的移位方式实现字符文本加密解密。
packagecom.hz.practice;
importjava.util.Scanner;
/**
*2.采用字符的移位方式实现字符文本加密解密。
*@authorztw
*
*/
publicclassPractice02{
publicstaticvoidmain(String[]args){
System.out.println("请输入一个字符串");
Scannersc=newScanner(System.in);
Stringstr1=newString();
str1=sc.nextLine();
System.out.println(str1.replaceAll("a","1.")
.replaceAll("b","2.").replaceAll("c","3.")
.replaceAll("d","4.").replaceAll("e","5.")
.replaceAll("f","6.").replaceAll("g","7.")
.replaceAll("h","8.").replaceAll("i","9.")
.replaceAll("j","10.").replaceAll("k","11.")
.replaceAll("l","12.").replaceAll("m","13.")
.replaceAll("n","14.").replaceAll("o","15.")
.replaceAll("p","16.").replaceAll("q","17.")
.replaceAll("r","18.").replaceAll("s","19.")
.replaceAll("t","20.").replaceAll("u","21.")
.replaceAll("v","22.").replaceAll("w","23.")
.replaceAll("x","24.").replaceAll("y","25.")
.replaceAll("z","26."));
}
}
输出结果:
请输入一个字符串 asdsddffg 1.19.4.19.4.4.6.6.7.
3.验证是随机生成4位验证码,由用户输入并否输入正确,如果输入错误就生成新的验证码让用户重新输入,最多输入5次!
packagecom.hz.practice;
importjava.util.Random;
importjava.util.Scanner;
/**
*3.验证是随机生成4位验证码,由用户输入并否输入正确,
*如果输入错误就生成新的验证码让用户重新输入,最多输入5次
*@authorztw
*
*/
publicclassPractice03{
publicstaticvoidmain(String[]args){
Stringstr="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
char[]arr=newchar[4];//定义一个长度是4的char型数组
Randomsj=newRandom();
System.out.println("验证码是:");
for(inti=0;i<4;i++)
{
arr[i]=str.charAt(sj.nextInt(61));//从str中随机截取4个单个字符并赋值给arr这个数组存放
}
System.out.println(arr);
Scannersc=newScanner(System.in);
System.out.println("请输入验证码");
Stringa=newString(arr);//把数组转换成字符串
//定义输入次数
for(intj=0;j<5;j++)
{
if(sc.nextLine().equals(a))
{
System.out.println("验证码输入正确");
}
else
{
System.out.println("验证码输入有误,请重新输入");
if(j<=3)
{
System.out.print("请输入验证码");
for(inti=0;i<4;i++)
{
arr[i]=str.charAt(sj.nextInt(61));//从str中随机截取4个单个字符并赋值给arr这个数组存放
}
System.out.println(arr);
a=newString(arr);
}
else
{
System.out.println("输入有误,对不起,5次机会已用完");
}
}
}
}
}
输出结果:
验证码是: AVA8 请输入验证码 AVA8 验证码输入正确
packagecom.hz.practice;
/**
*4.获取一个字符串在另一个字符串中出现的次数
思路:
1.定义一个计数器。
2.获取子串第一次出现的位置
3.从第一次出现的位置后剩余的字符串中继续获取子串出现的位置,每获取一次计数器加1
4,当获取不到时,计数完成
*@authorztw
*
*/
publicclassPractice04{
publicstaticvoidmain(String[]args){
Stringstr1="asdasdas";
Stringstr2="as";
//1.定义一个计数器。
inttotal=0;
for(Stringtemp=str1;temp!=null&&
temp.length()>=str2.length();){
//2.获取子串第一次出现的位置
if(temp.indexOf(str2)==0){
//3.从第一次出现的位置后剩余的字符串中继续获取子串出现的位置,每获取一次计数器加1
total++;
}
temp=temp.substring(1);
System.out.print(temp+",");
}
//4,当获取不到时,计数完成
System.out.println("计数完成:"+total);
}
}
输出结果:
sdasdas,dasdas,asdas,sdas,das,as,s,计数完成:3
packagecom.hz.practice;
/**
*5.获取两个子串中最大相同子串
思路:
1.将短的哪个子串按照长度递减的方式获取到
2.将每次获取到的子串去长串中判断是否包含,如果包含,已经找到
*@authorztw
*
*/
publicclassPractice05{
publicstaticStringgetMaxSubString(Strings1,Strings2){
Stringmax="",min="";
max=(s1.length()>s2.length())?s1:s2;
min=(max==s1)?s2:s1;
//sop("max="+max+"...min="+min);
for(intx=0;x
输出结果:
ab,a,b,b,
packagecom.hz.practice;
importjava.util.Scanner;
/**
*6、写一个方法判断一个字符串是否对称
*@authorztw
*
*/
publicclassPractice06{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
Stringstr=input.next();//接收任意字符串
isOk1(str);
}
/**
*判断字符串是否对称的方法(一)
*通过取取索引对应值来进行一一比对
*@paramstr
*/
publicstaticvoidisOk1(Stringstr){
booleanresult=true;
intcount=(str.length()-1)/2;
for(intx=0;x<=count;x++){
if(str.charAt(x)!=str.charAt(str.length()-1-x)){
result=false;
break;
}
}
if(!result)
System.out.println("该字符串是不对称的");
else
System.out.println("该字符串是对称的");
}
/*
*publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
Stringstr=input.next();//接收任意字符串
if(isOk2(str)==true){
System.out.println("真,对称!");
}else{
System.out.println("假,不对称!");
}
}
/**
*方法二
*通过String加强类中的取反方法reverse获取其逆向值
*再与原字符串相比是否相等!
*等于则返回TRUE,否则FALSE
*@paramstr
*@return
*/
/*
publicstaticbooleanisOk2(Stringstr){
StringBuffersb=newStringBuffer(str);
Stringstr2=sb.reverse().toString();
returnstr.equals(str2);
}
*/
}
输出结果:
asdsa
该字符串是对称的
packagecom.hz.practice;
/**
*
9、编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,
“Tobeornottobe",将变成"oTebrotonoteb."。
*@authorztw
*
*/
publicclassPractice09{
publicstaticvoidmain(String[]args){
Stringstr="Tobeornottobe";
String[]str2=str.split("");
for(inti=0;i=0;j--){
System.out.print(ci[j]);
}
}
}
} 
packagecom.hz.practice;
/**
*10、已知字符串:"thisisatestofjava".
按要求执行以下操作:
(1)统计该字符串中字母s出现的次数
(2)取出子字符串"test"
(3)用多种方式将本字符串复制到一个字符数组Char[]str中.
(4)将字符串中每个单词的第一个字母变成大写,输出到控制台。
(5)用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
(6)将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
*@authorztw
*
*/
publicclassPractice10{
publicstaticvoidmain(String[]args){
Stringstr="thisisatestofjava";
//(1)统计该字符串中字母s出现的次数
intcount=0;
for(inti=0;i0){
System.out.print(String.valueOf(tt[i].charAt(0)).toUpperCase());
System.out.print(tt[i].substring(1)+"");
}
}
System.out.println();
//(5)用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
StringBuffersb=newStringBuffer(str);
System.out.println(sb.reverse().toString());
char[]c3=str.toCharArray();
for(inti=c3.length-1;i>=0;i--){
System.out.print(c3[i]);
}
System.out.println();
//(6)将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
String[]str5=str.split("");
for(inti=0;i
输出结果:
字符串中字母s出现的次数:3
test
thisisatestofjava
thisisatestofjava
6
ThisIsATestOfJava
avajfotsetasisiht
avajfotsetasisiht
this,is,a,test,of,java,
总结 
以上就是本文关于Java探索之string字符串的应用代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:浅谈Java编程ToString()方法重写的意义、javatostring方法重写代码示例等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!