字符串的学习和练习
来源:互联网 发布:程序员看的书 编辑:程序博客网 时间:2024/06/16 22:54
知识点
/* * indexOf() * lastIndexOj() * replace() * split() * charAt() * *subString()频率很高的方法.用来截取字符串 */public class StringClass { public static void main(String[] args) { String s = " abcdefg "; String s1 = new String("a b c"); //字符串长度 System.out.println(s.length()); //trim方法.去掉字符串两边的空格 System.out.println(s.trim().length()); System.out.println(s1.length()); //trim不能去除中间的空格 System.out.println(s1.trim().length()); //截取字符串部分 String s2 = "再来一瓶"; System.out.println(s2.substring(2)); System.out.println(s2.substring(1,3)); //index找出指定字符的位置(索引).不只是找字符.也可以找串 //找到子字符在当前字符中的首字母的索引 String s3 = "2121abcdef21g"; System.out.println(s3.indexOf("cd")); //Ascll码也是可以的 System.out.println(s3.indexOf(97)); //第二个参数是指查找起点 System.out.println(s3.indexOf("21",7)); //lastIndexOf查找最后一个关键字所在位置 String s4 = "123321123"; System.out.println(s4.lastIndexOf("1")); //replace 替换指定字符 String s5 = "a b c d "; String s6 = s5.replace(' ', '@'); System.out.println(s6); //split分割 String s7 = "a|b,c d ef "; String arr[] = s7.split(" "); for (String string : arr) { System.out.println(string); } //charAt获取某个位置的字符 String s8 = "abcdefg"; System.out.println(s8.charAt(0)); }}
实例:检查是不是.java文件
public void java1(String s) { String string = ""; for (int i = s.lastIndexOf("."); i < s.length(); i++) { string += s.charAt(i); } if (string.equals(".java")) { System.out.println("您输入的是Java文件"); }else{ System.out.println("不是Java文件"); } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Test2 test = new Test2(); System.out.println("请输入您的文件名:"); String string = scanner.next(); test.java1(string); }
实例:将字符串中的i改为1.O该问0
public String phone(String s) { String s1 = s.replace("O", "0"); String s2 = s1.replace("i", "1"); return s2; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Test2 test = new Test2(); System.out.println("请输入手机充值卡密码:"); String string2 = scanner.next(); String string3 = test.phone(string2); System.out.println(string3); }}
实例:字符串My_English_NaMe改为myENGLISHNAME
public String daxiaoxie(String str) { String[] arr = str.split("_"); String s1 = arr[0]; String s2 = arr[1]; String s3 = arr[2]; String string =""; string += s1.toLowerCase(); string += s2.toUpperCase(); string += s3.toUpperCase(); return string; } public static void main(String[] args) { System.out.println("字符串My_English_NaMe改为myENGLISHNAME:"); String string4 = "My_English_NaMe"; System.out.println(test.daxiaoxie(string4)); }
实例:找出字符串中数字.英文.空格和其他字符的数量
public void T1(String s) { int num1 = 0;//这是英文的个数 int num2 = 0;//这是数字的个数 int num3 = 0;//这是空格的个数 int num4 = 0;//这是其他字符的个数 for (int i = 0; i < s.length(); i++) { char key = s.charAt(i); if (key >= 'A'&&key <= 'Z') { num1 += 1; }else if(key >= 'a'&&key <= 'z') { num1 += 1; }else if(key >= 48 && key <= 57) { num2 += 1; }else if(key == ' ') { num3 += 1; }else{ num4 += 1; } } System.out.println("英文字母的数量为"+num1); System.out.println("数字的数量为"+num2); System.out.println("空格的数量为"+num3); System.out.println("其他字符的数量为"+num4); } public static void main(String[] args) { Test3 test3 = new Test3(); String string = " abCD1234#$%&"; test3.T1(string); }
实例:去掉字符串中间的空格但中间的空格不去掉
//这行代码可以完成System.out.println(s2.replace(s2.trim(),s2.trim().replace(" ", "")));
实例:回文串的判定
public void T5(String string) { int length = string.length(); int number = 0; if (length % 2 ==0) { for (int i = 0; i < length; i++) { if(string.charAt(i) == string.charAt((length)-i-1)){ number +=1; }else{ break; } } if (number == length) { System.out.println("这是个回串文"); }else{ System.out.println("这不是个回串文"); } }else{ for (int i = 0; i < (length-1)/2; i++) { if(string.charAt(i) == string.charAt((length)-i-1)){ number +=1; }else{ break; } } if (number == (length-1)/2) { System.out.println("这是个回串文"); }else{ System.out.println("这不是个回串文"); } }} public static void main(String[] args) { Test5 test5 = new Test5(); test5.T5("abba"); }
实例:删除字符串中的某个字符
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("字符串"); String string = scanner.next(); System.out.println("字符"); String string2 = scanner.next(); for (String string3 : string.split(string2)) { System.out.print(string3); } }
实例:每个字符后面插入一个空格
public static void main(String[] args) { String string = "abcd"; String string2 = ""; for (int i = 0; i < string.length(); i++) { string2 += string.charAt(i)+" "; } System.out.println(string2); }
实例:随机生成一个4位的验证码(包含英文大小写和数字)
public static void main(String[] args) { Random random = new Random(); int m=0; do{ int n = random.nextInt(123); if (n <= 122&& n >= 97) { System.out.print((char)n); m++; continue; }else if(n <= 90&& n >= 65){ System.out.print((char)n); m++; continue; }else if(n <=57&& n >= 48 ){ System.out.print((char)n); m++; continue; }else{ continue; } }while(m<4); }
实例:学生抽奖
public static void main(String[] args) { ArrayList<String> students = new ArrayList<String>(); Random random = new Random(); students.add("古一"); students.add("林二"); students.add("张三"); students.add("李四"); students.add("王五"); students.add("赵六"); students.add("刘七"); students.add("胡八"); students.add("陈九"); students.add("王十"); students.add("古十"); students.add("林九"); students.add("张八"); students.add("李七"); students.add("王六"); students.add("赵五"); students.add("刘四"); students.add("胡三"); students.add("陈二"); students.add("王一");// int length = students.size(); System.out.println("\n三等奖的同学是:"); for (int i = 0; i < 6; i++) { int n = random.nextInt(20-i); System.out.print(students.get(n)+"\t"); students.remove(students.get(n)); } System.out.println("\n二等奖的同学是:"); for (int i = 0; i < 2; i++) { int n = random.nextInt(14-i); System.out.print(students.get(n)+"\t"); students.remove(students.get(n)); } System.out.println("\n一等奖的同学是:"); for (int i = 0; i < 1; i++) { int n = random.nextInt(12-i); System.out.println(students.get(n)); students.remove(students.get(n)); } }
阅读全文
0 0
- 字符串的学习和练习
- 字符串的操作 练习一和练习二
- C#学习:字符串综合练习
- 练习字符数组,学习字符串
- 字符串练习的源代码
- 字符串的练习
- java字符串的练习
- 20160726_awk命令的学习和练习
- Python基础练习——字符串和字典的转换
- 数组和字符串简单练习
- 字符串和指针的学习
- 练习正则表达式与Date类的日期变字符串和字符串变日期
- 字符串的操作 练习三
- 字符串的操作 练习四
- 基础练习 FJ的字符串
- 基础练习 FJ的字符串
- OC一些字符串的练习
- 典型的字符串转换练习
- Maven学习总结(六)——Maven与Eclipse整合
- java经典案例:HelloWorld 的诞生过程!
- Retrofit源码分析 (六. Retrofit 深入ParameterHandler及其他)
- 使用Linux遇到的命令
- AndroidStudio使用大全
- 字符串的学习和练习
- o的erp二开工作小总结
- 面向对象(一)——类
- 各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解
- Qt多线程实现opencv的人脸检测
- 同步信号PSS , SSS
- DockPanel
- js 获取当前页面路径
- Windows10 VS2013 C#配置EmguCV 3.2 (傻瓜式讲解)