Java字符串进阶练习题分析
题1:将一字符串中的字符变为其后一个字符:如:z3acyd@2->a3bdze@2
思路:题中要求将所有小写字母后位移一位,我们可以先声明一个字符串abcdefghijklmnopqrstuvwxyza里面包含了所有的小写字母,我们可以利用substring对用户输入的每一个字符进行切割取出 然后跟我们声明的字符串做indexOf判断,判断字符是否属于a~z中的字母,如果属于就从indexOf返回的下标后位移一位,直接看代码
import java.util.Scanner;
//将一字符串中的字符变为其后一个字符:如:z3acyd@2->a3bdze@2
public class nan1 {
public static void main(String[] args) {
System.out.println("请输入一段字符,我帮你加密...");
Scanner input = new Scanner(System.in);
String str = input.next();
String str2="abcdefghijklmnopqrstuvwxyza";
String str4="";
for (int i = 0; i <str.length() ; i++) {
String str3=str.substring(i,i+1);
if(str2.indexOf(str3)!=-1){
str4+=str2.substring(str2.indexOf(str3)+1,str2.indexOf(str3)+2);
}else{
str4+=str3;
}
}
System.out.println(str4);
}
}
题2:用户输入一些字符串,然后把里面的所有数字输出整数,如: “你好呀1,你在吗23” 结果为:123
思路:跟上一题的思路差不多,我们可以声明一个字符串 包含0~9,然后用indexOf判断…
//用户输入一些字符串,然后把里面的所有数字输出整数,如:
//“你好呀1,你在吗23” 结果为:123
import java.util.Scanner;
public class nan2 {
public static void main(String[] args) {
System.out.println("请输入一串字符串,我帮你提取数字...");
Scanner input = new Scanner(System.in);
String str= input.next();
String str2="0123456789";
String str3="";
for (int i = 0; i <str.length() ; i++) {
if(str2.indexOf(str.substring(i,i+1))!=-1){
str3+=str.substring(i,i+1);
}
}
System.out.println("提取数字:"+str3);
}
}