欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java String類常用方法練習(xí)小結(jié)

 更新時間:2017年02月16日 11:07:51   作者:沐一  
本文主要介紹了java String類常用方法的例子,具有很好的參考價值,下面跟著小編一起來看下吧

String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作為此類的實例實現(xiàn)。

字符串是常量;它們的值在創(chuàng)建之后不能更改。字符串緩沖區(qū)支持可變的字符串。

String 類包括的方法可用于檢查序列的單個字符、比較字符串、搜索字符串、提取子字符串、

創(chuàng)建字符串副本并將所有字符全部轉(zhuǎn)換為大寫或小寫。

String類是最常用的類之一,下面就通過幾個練習(xí),熟悉String類中的提供的重要方法。

字符串練習(xí)一

給定一個字符串?dāng)?shù)組,按照字典順序,進行大小寫排序

思路:

1.對數(shù)組排序,可以用選擇排序、冒泡排序等等。

2.for循環(huán)嵌套,比較,交換位置。

3.不同之處,以前比較的是數(shù)字,用的是比較運算符;

現(xiàn)在比較的是字符串對象,應(yīng)該使用compareTo方法。

public class StringTest_1
{
 //對字符串?dāng)?shù)組進行排序
 public static void stringSort(String[] arr)
 {
 //采用冒泡排序
 for(int i=0;i<arr.length-1;i++)
 {
  for(int j=0;j<arr.length-1-i;j++)
  {
  //用compareTo方法進行字符串比較
  if(arr[j].compareTo(arr[j+1])>0)
  {
   String temp=arr[j];
   arr[j]=arr[j+1];
   arr[j+1]=temp;
  }
  }
 }
 showArray(arr);
 }
 //定義方法,以[str1,str2,str3]的格式來打印數(shù)組
 public static void showArray(String[] arr)
 {
 System.out.print("[");
 for(int i=0;i<arr.length;i++)
 {
  if(i!=arr.length-1)
  System.out.print(arr[i]+",");
  else
  {
  System.out.print(arr[i]+"]\n");
  }
 }
 }
 public static void main(String[] args) 
 {
 String arr[]={"nba","abc","cba","zz","qq","haha"};
 //打印數(shù)組
 showArray(arr);
 //對數(shù)組進行排序并輸出
 stringSort(arr);
 }
}

運行:

字符串練習(xí)二

一個子串在字符串中出現(xiàn)的次數(shù)

思路:

1.用indexOf方法獲取子串在字符串中第一次出現(xiàn)的位置index

2.再用indexOf方法獲取以(index+子串長度)為起始的剩下的字符串中子串出現(xiàn)的位置,直到字符串中不再包含子串。可用while循環(huán)實現(xiàn)。

3.每次找到后用計數(shù)器記錄即可。

public class StringTest_2 
{
 public static void main(String[] args) 
 {
 String str="abcqwabcedcxabcuabcjkabcnmbabc";
 //String str=null;
 try
 {
  int count=countChildStr(str,"abc");
  System.out.println("abc在"+str+"中出現(xiàn)的次數(shù)為:"+count);
 }
 catch (NullPointerException ne)
 {
  System.out.println(ne);
 }
 catch(RuntimeException re)
 {
  System.out.println(re);
 }
 }
 public static int countChildStr(String str,String key)
 {
 if(str==null||key==null)
 {
  throw new NullPointerException("空指針異常,源字符串和子串都不能為NULL");
 }
 if(key=="")
 {throw new RuntimeException("調(diào)用不合法,子串要有內(nèi)容");}
 int count=0,index=0;
 while((index=str.indexOf(key,index))!=-1)
 {
  count++;
  index+=key.length();
 }
 return count;
 }
}

字符串練習(xí)三

找到兩個字符串的最大公共子串

思路:

1.判斷較長字符串中是否包含較短字符串,如果包含,則較短字符串則為最大公共子串。

2.如果不包含,就對較短字符串以長度遞減的方式取子串,去較長字符串中判斷是否包含,如果包含就找到了,不用再找了。

3.重點:對字符串以長度遞減的方式取子串

public class StringTest_3
{
 public static void main(String[] args) 
 {
 //創(chuàng)建兩個不為空的字符串
 String str1="abxczwsxcvdfas";
 //String str1=null;
 String str2="ghwsxcvxcdbgthnnnrfqwe";
 try
 {
  String str=searchMaxCommonStr(str1,str2);
  System.out.println("最大公共子串是:"+str);
 }
 catch (NullPointerException ne)
 {
  System.out.println(ne);
 }
 }
 public static String searchMaxCommonStr(String str1,String str2)
 {
 if(str1==null||str2==null)
  throw new NullPointerException("空指針異常,參數(shù)不能為Null");
 //斷定較長字符串和較短字符串
 String max=(str1.length()>str2.length())?str1:str2;
 String min=(str1.equals(max))?str2:str1;
 //按長度遞減的方式取子串,從min.length~~1
 for(int i=min.length();i>0;i--)
 {
  for(int x=0,y=x+i;y<min.length();x++,y++)
  {
  String childStr=min.substring(x,y);
  //若較長字符串中包含此子串,則找到了
  //否則繼續(xù)找
  if(max.contains(childStr))
   return childStr;
  }
 }
 return null;
 }
}

運行:

字符串練習(xí)四

寫一個和trim功能相同的方法

思路:

1.定義兩個變量,用來存儲兩個角標(biāo)

2.分別從頭和尾遍歷字符串,直到找到第一個不為空格的字符

3.截取字符串

public class StringTest_4
{
 public static void main(String[] args) 
 {
 String str=" abc ws ";
 str=myTrim(str);
 System.out.println(str);
 }
 public static String myTrim(String s)
 {
 int begin=0,end=s.length()-1;
 //從頭遍歷
 while(begin<=end && s.charAt(begin)==' ')
 {
  begin++;
 }
 //從尾部遍歷
 while(begin<=end && s.charAt(end)==' ')
 {
  end--;
 }
 return s.substring(begin,end+1);
 }
}

運行:

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • Spark?集群執(zhí)行任務(wù)失敗的故障處理方法

    Spark?集群執(zhí)行任務(wù)失敗的故障處理方法

    這篇文章主要為大家介紹了Spark?集群執(zhí)行任務(wù)失敗的故障處理方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Java中多態(tài)性的實現(xiàn)方式

    Java中多態(tài)性的實現(xiàn)方式

    這篇文章主要介紹了Java中多態(tài)性的實現(xiàn)方式,什么是多態(tài)?通過簡單的一道題目幫大家理解java多態(tài)性,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringBoot3.x循環(huán)依賴問題解決方案

    SpringBoot3.x循環(huán)依賴問題解決方案

    這篇文章主要介紹了SpringBoot3.x循環(huán)依賴的相關(guān)知識,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • spring使用WebSocket注入service層失敗問題及解決

    spring使用WebSocket注入service層失敗問題及解決

    這篇文章主要介紹了spring使用WebSocket注入service層失敗問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 一篇文章帶你入門java注解

    一篇文章帶你入門java注解

    這篇文章主要介紹了Java注解詳細介紹,本文講解了Java注解是什么、Java注解基礎(chǔ)知識、Java注解類型、定義Java注解類型的注意事項等內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java實現(xiàn)自動回復(fù)聊天機器人

    java實現(xiàn)自動回復(fù)聊天機器人

    這篇文章主要為大家詳細介紹了java實現(xiàn)自動回復(fù)聊天機器人,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 在springboot中如何使用filter設(shè)置要排除的URL

    在springboot中如何使用filter設(shè)置要排除的URL

    這篇文章主要介紹了在springboot中如何使用filter設(shè)置要排除的URL,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringBoot整合minio快速入門教程(代碼示例)

    SpringBoot整合minio快速入門教程(代碼示例)

    這篇文章主要介紹了SpringBoot整合minio快速入門實現(xiàn)文件上傳和下載的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Java流程控制語句之If選擇結(jié)構(gòu)

    Java流程控制語句之If選擇結(jié)構(gòu)

    今天繼續(xù)帶大家復(fù)習(xí)Java流程控制語句的相關(guān)知識,本文對If選擇結(jié)構(gòu)作了非常詳細的介紹及代碼示例,對正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • JDK8的lambda方式List轉(zhuǎn)Map的操作方法

    JDK8的lambda方式List轉(zhuǎn)Map的操作方法

    account是一個返回本身的lambda表達式,其實還可以使用Function接口中的一個默認方法代替,使整個方法更簡潔優(yōu)雅,這篇文章主要介紹了JDK8的lambda方式List轉(zhuǎn)Map,需要的朋友可以參考下
    2022-07-07

最新評論