典型的字符串处理代码(algs4)

xiaoxiao2021-02-28  130

                                                Java的字符串AP(部分)

Public   class       String

                               String()                                 创建一个空字符串

              Int             length()                               字符串长度

              Int             charAt(int i)                          第i个字符(从0开始计)

              Int             indexOf(String p)                p第一次出现的位置(如果没有则返回-1)                                   

              Int             indexOf(Strign p,int i)         p在i个字符后第一次出现的位置(如果没有则返回-1)                   

              String       contact(String t)                  把t附在该字符串末尾

              String       substring(int I,int j)            该字符串的子字符串(第i个字符到第j-1个字符)

              String       split(String delim)              使用delim分隔符切分字符串

              Int             compareTo (String t)          比较字符串

              Boolean  equals(String t)                  该字符串的值和t的值是否相同

              Int             hashCode()                        散列值

 

package string; /*典型的字符串处理代码*/ public class StringManipulation { /*判断字符串是否是一条回文*/ public static boolean isPalindrome(String s) { for(int i=0;i<s.length()/2;i++) if(s.charAt(i)!=s.charAt(s.length()-1-i)) return false; return true; } /*从一个命令行参数中提取文件名和扩展名*/ public static String[] fileName1(String s) { String[] name=s.split("\\."); /*使用\\转义*/ return name; } public static String[] fileName2(String s) { int dot=s.indexOf("."); String[] name=new String[2]; name[0]=s.substring(0, dot); name[1]=s.substring(dot+1, s.length()); return name; } /*打印出标准输入中所有含有通过命令行指定字符串的行*/ public static String appoint(String s) { String query="delete"; if(s.contains(query)) return s; return null; } /*以空白字符为分隔符从输入流中创建一个字符串数组*/ public static String[] stringArray(String s) { String[] words =s.split("\\s+"); /*"\\s+"表示一个或多个制表符、空格、换行符或回车*/ return words; } /*检查一个字符串数组中的元素是否已按照字母表顺序排列*/ public static boolean isSorted(String[] a) { for(int i=0;i<a.length-1;i++) if(a[i].compareTo(a[i+1])>0) /*Int compareTo (String t) 比较字符串*/ return false; return true; } }

package string; import java.util.Scanner; /*典型的字符串处理代码-测试用例*/ public class TestManipulation { public static void main(String[] args) { int n; String s; boolean t; String[] a = null; Scanner sc=new Scanner(System.in); System.out.println("判断字符串是否是一条回文"); s=sc.nextLine(); t=StringManipulation.isPalindrome(s); System.out.println(t); System.out.println("从一个命令行参数中提取文件名和扩展名"); s=sc.nextLine(); a=StringManipulation.fileName1(s); System.out.println("split(\"\\.\"):"); /*\表示后面跟一个符号*/ for(int i=0;i<a.length;i++) System.out.println(a[i]); a=StringManipulation.fileName2(s); System.out.println("indexOf(\".\"):"); for(int i=0;i<a.length;i++) System.out.println(a[i]); System.out.println("打印出标准输入中所有含有通过命令行指定字符串的行"); System.out.println("请先输入命令行的个数"); n=sc.nextInt(); System.out.println("请输入命令行"); sc.nextLine(); /*读走换行符*/ for(int i=0;i<n;i++) { s=sc.nextLine(); if(StringManipulation.appoint(s)!=null) System.out.println(StringManipulation.appoint(s)); } System.out.println("以空白字符为分隔符从输入流中创建一个字符串数组"); s=sc.nextLine(); a=StringManipulation.stringArray(s); for(int i=0;i<a.length;i++) System.out.println(a[i]); System.out.println("检查一个字符串数组中的元素是否已按照字母表顺序排列"); System.out.println("请先要输入的输入元素个数"); n=sc.nextInt(); a=new String[n]; /*重要!!*/ System.out.println("请输入元素"); sc.nextLine(); /*读走换行符*/ for(int i=0;i<n;i++) a[i]=sc.nextLine(); t=StringManipulation.isSorted(a); System.out.println(t); sc.close(); } }

                                                                       

拓展阅读:

java中length,length(),size()区别

Java中字符串split() 的使用方法.没你想的那么简单

https://blog.csdn.net/qq_27093465/article/details/54910323

转载请注明原文地址: https://www.6miu.com/read-39944.html

最新回复(0)