import java.util.Scanner;
public class StringPractice{
public static void main(String[] args){
Scanner s = new Scanner(System.in);//System.in程序输入;System.out程序输出
System.out.println("请输入字符串:");
String str=s.nextLine();//接收用户输入的一行字符
System.out.println("请输入子字符串:");
String subStr=s.nextLine();//接收用户输入的一行字符
int preStrLength=0;
while(true){
int pos=str.indexOf(subStr);
if(pos==-1)break;//str.indexOf(subStr)找不到子字符串,返回-1
System.out.println("子字符串出现的位置:"+(pos+preStrLength));
//截取以(查找到子字符串第一个字符位置所在的索引+子字符串的长度)为开始索引到字符串结尾范围内的子字符串
str=str.substring(pos+subStr.length());
preStrLength +=(pos+subStr.length());//获取未被截取部分的字符串长度
}
}
}
import java.util.Scanner;
public class StringPractice{
public static void main(String[] args){
Scanner s = new Scanner(System.in);//System.in程序输入;System.out程序输出
System.out.println("请输入字符串:");
String str=s.nextLine();//接收用户输入的一行字符
System.out.println("请输入子字符串:");
String subStr=s.nextLine();//接收用户输入的一行字符
int count=0;
while(true){
int pos=str.indexOf(subStr);
if(pos==-1){
break;//str.indexOf(subStr)找不到子字符串,返回-1
}else{
count++;
}
//截取以(查找到子字符串第一个字符位置所在的索引+子字符串的长度)为开始索引到字符串结尾范围内的子字符串
str=str.substring(pos+subStr.length());
}
System.out.println("这个子串在字符串中出现的次数为:"+count);
}
}
习题三:编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕
习题解析:
(1)通过s.toUpperCase()将小写字母转换为大写字母。
(2)通过str.substring(1)截取子串”DK”
public class StringPractice{
public static void main(String[] args){
String s="jdk";
String str=s.toUpperCase();//将小写字母转换为大写字母
System.out.println(str);
System.out.println(str.substring(1));//截取子串”DK” 并输出到屏幕
}
}
习题四:编写程序将String类型字符串”test” 变为 “tset”。
习题解析:
(1)通过str.replace(“es”,“se”) 进行字符串替换
public class StringPractice{
public static void main(String[] args){
String str="test";
str=str.replace("es","se");//字符串替换(区分字母的大小写)
System.out.println(str);
}
}
习题五:接收用户输入的一个字符串,判断这个字符串是否对称。
习题解析:
(1)此题需设置一个变量用于接收用户输入的字符串
(2)通过str.charAt(i)获取指定位置的字符。
import java.util.Scanner;
public class StringPractice{
public static void main(String[] args){
Scanner s = new Scanner(System.in);//System.in程序输入;System.out程序输出
System.out.println("请输入一个字符串:");
String str=s.nextLine();//接收用户输入的一行字符
boolean isDui=true;
for(int i=0;i<=str.length()/2;i++){ //i指代索引
if(str.charAt(i)!=str.charAt(str.length()-i-1)){
isDui=false;
System.out.println("这个字符串不是对称的字符串!");
break;
}
}
System.out.println("这个字符串是对称的字符串!");
}
}
习题六:将一个字符串进行反转。例:”abcdefg”反转成“gfedcba”.
习题解析:
import java.util.Scanner;
public class StringPractice{
public static void main(String[] args){
String str="abcdefg";
String newStr="";
for(int i=str.length()-1;i>=0;i--){
newStr+=str.charAt(i);//利用索引取得字符组成新的字符串
}
System.out.println(newStr);
}
}
import java.util.Scanner;
import java.util.Random;
public class StringPractice{
public static void main(String[] args){
Random r=new Random();
int code1=r.nextInt(10);//生成0-9之间的随机数
int code2=r.nextInt(10);//生成0-9之间的随机数
int code3=r.nextInt(10);//生成0-9之间的随机数
int code4=r.nextInt(10);//生成0-9之间的随机数
String vfCode=""+code1+code2+code3+code4;
System.out.println("验证码是"+vfCode);
Scanner s = new Scanner(System.in);//System.in程序输入;System.out程序输出
for(int i=0;i<5;i++){
System.out.println("请输入验证码:");
String str=s.nextLine();//接收用户输入的一行字符
if(vfCode.equals(str)){
System.out.println("输入正确!");
break;
}else{
System.out.println("输入错误!你还剩下"+(5-i-1)+"次机会!");
}
}
}
}