字符串

    技术2022-07-10  141

    字符串两种定义方法

    String str1="jshush"; String str2=new String("jhshuuu");

    字符串信息获取 长度 s.length(); 查找子字符串的位置 s.indexOf(int c); s.indexOf(String str); s.lastIndexOf(String str); 获取指定位置的字符 s.charAt(int index) 获取子字符串 s.substring(int beginIndex); s.substring(int beginIndex,int endIndex); 字符串判断: 判断字符串的开始和结尾 s.startsWith(String prefix); s.endsWith(String suffix); 判断字符串是否相等 “==” 比较的是引用地址 s.equals(String str); s.equalsIgnoreCase(String str); s.compareTo(String str);//compareTo比较的不是字符串是否相等,这里比较的 是字符串的大小,字符串的大小怎么怎么比较呢,按个字符比较相同的字符跳过, 遇到不同的字符,返回字符的差。如果两个字符串,前面几个字符相等,长度不相 等(“siki” “sikiedu”)返回两个字符串的长度差。 判断是否包含某个子字符串 s.contains(String str); 判断字符串是否为空 s.isEmpty(); 空的两种状态 String s = “”;//空字符串 String s = null;//空对象 字符串转换操作 字母大小写转换 s.toLowerCase(); s.toUpperCase(); 字符串分割 s.split(String str); s.split(String str,int limit); 去除空格(前面和后面的空格,不包括中间的空格) s.trim();

    String str1="jsh.ush"; String[] strs=str.split("\\."); for(String temp:strs){ System.out.println(temp);}

    字符串替换 s.replace(char oldChar,char newChar); s.replace(String oldStr,String newStr);

    字符串格式化 日期和时间的格式化

    API文档查阅 JDK 1.6中文版 JDK 14英文版(官网)

    练习题: 一、给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位 置. 如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户 输入

    import java.util.Scanner; public class HelloWorld{ public static void main(String[] args){ Scanner s=new Scanner(System.in); 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; System.out.println("查找到子串位置:"+(pos+preStrLength)); str=str.substring(pos+substr.length()); preStrLength+=(pos+substr.length()); }} }

    二、在一个字符串中查找一个子串,计算出来这个子串在字符串中出现的次数。

    import java.util.Scanner; public class HelloWorld{ public static void main(String[] args){ Scanner s=new Scanner(System.in); 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;} else{count++;} str=str.substring(pos+substr.length()); } System.out.println("子串出现次数:"+count); } }

    三、编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕

    String str="jdk"; String str2=str.toUpperCase(); System.out.println(str2); System.out.println(str2.substring(1));

    四、编写程序将String类型字符串”test” 变为 “tset”。

    String str="test"; str=str.replace("es","se");

    五、接收用户输入的一个字符串,判断这个字符串是否对称。

    String str="jxbwjhigiud"; boolean isDui=true; for(int i=0;i<=str.length()/2;i++) { if(str.charAt(i)!=str.charAt(str.length()-i-1)) { isDui=false; break; } }

    六、将一个字符串进行反转。例:”abcdefg”反转成“gfedcba”.

    String str="jxbwjhigiud"; String newStr=""; for(int i=str.length()-1;i>=0;i--) { newStr+=str.charAt(i); } System.out.println(newStr);

    七、随机生成4位验证码,由用户输入并验证是否输入正确,如果输入错误就生成新的验证码让用户重新输入,最多输入5次

    import java.util.Scanner; import java.util.Random; public class HelloWorld{ public static void main(String[] args){ Random r=new Random(); int code1=r.nextInt(10); int code2=r.nextInt(10); int code3=r.nextInt(10); int code4=r.nextInt(10); String vfCode=""+code1+code2+code3+code4; System.out.println("验证码是"+vfCode); Scanner s=new Scanner(System.in); 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)+"次机会"); } } } }
    Processed: 0.010, SQL: 9