java 字符串的拼接的實現(xiàn)實例
java 字符串的拼接的實現(xiàn)實例
在實際的開發(fā)工作中,對字符串的處理是最常見的編程任務(wù)。本題目即是要求程序?qū)τ脩糨斎氲拇M(jìn)行處理。具體規(guī)則如下:
1. 把每個單詞的首字母變?yōu)榇髮憽?
2. 把數(shù)字與字母之間用下劃線字符(_)分開,使得更清晰
3. 把單詞中間有多個空格的調(diào)整為1個空格。
例如:
用戶輸入:
you and me what cpp2005program
則程序輸出:
You And Me What Cpp_2005_program
用戶輸入:
this is a 99cat
則程序輸出:
This Is A 99_cat
我們假設(shè):用戶輸入的串中只有小寫字母,空格和數(shù)字,不含其它的字母或符號。每個單詞間由1個或多個空格分隔。
假設(shè)用戶輸入的串長度不超過200個字符。
要求考生把所有類寫在一個文件中。調(diào)試好后,存入與考生文件夾下對應(yīng)題號的“解答.txt”中即可。相關(guān)的工程文件不要拷入。請不要使用package語句。
另外,源程序中只能出現(xiàn)JDK1.5中允許的語法或調(diào)用。不能使用1.6或更高版本。
實現(xiàn)實例:
import java.util.ArrayList; import java.util.Scanner; //you and me what cpp2005program //則程序輸出: //You And Me What Cpp_2005_program public class Main { public static void main(String[] args){ String x = new Scanner(System.in).nextLine(); combineStr(x); } public static void combineStr(String x){ //獲取處理后的數(shù)據(jù)集合 ArrayList<String> list = repair(x); //用于判斷數(shù)字的字符串 String intStr = "0123456789"; //獲取每個字符串進(jìn)行字符的拼接轉(zhuǎn)換 String result = ""; for(int i=0;i<list.size();i++){ //取出一個字符 String temp = list.get(i); //初始化結(jié)果值 result = temp; //進(jìn)行數(shù)字與字母的判斷 for(int k=0;k<temp.length()-1;k++){ if(intStr.indexOf(temp.charAt(k))!=-1 && intStr.indexOf(temp.charAt(k+1))==-1){ // 此時判斷條件為數(shù)字 // 8a 返回替換后的字符,原字符不變 result = result.replace(temp.substring(k, k+2), (temp.charAt(k)+"_"+temp.charAt(k+1))); }else if(intStr.indexOf(temp.charAt(k))==-1 && intStr.indexOf(temp.charAt(k+1))!=-1){ //字母數(shù)字 result = result.replace(temp.substring(k, k+2), (temp.charAt(k)+"_"+temp.charAt(k+1))); } } System.out.print(result+" "); } } //獲取用戶輸入的,去掉重復(fù)的空白符 public static ArrayList<String> repair(String x){ //保存首字符轉(zhuǎn)為大寫后的單詞 ArrayList<String> list = new ArrayList<String>(); //用于判斷數(shù)字的字符串 String intStr = "0123456789"; String[] arr = x.split(" "); for(int i=0;i<arr.length;i++){ if(!arr[i].equals("")){ //對每一個字符進(jìn)行判斷 if( intStr.indexOf(arr[i].charAt(0))==-1){ // 對應(yīng)的字符為字母而不是數(shù)字,==-1表示沒有找到數(shù)字,則為字母 String newString = (arr[i].charAt(0)+"").toUpperCase()+arr[i].substring(1); list.add(newString); }else{ list.add(arr[i]); } } } return list; } }
以上就是java 字符串拼接的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
idea2020.2卡死在reading maven projects
這篇文章主要介紹了idea2020.2卡死在reading maven projects,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09List、Map、Set接口在Java中的存取元素特點詳細(xì)探討
在Java編程語言中集合框架是處理對象組的重要工具,主要包括List、Set和Map接口,這些接口及其實現(xiàn)類提供了豐富的功能,這篇文章主要給大家介紹了關(guān)于List、Map、Set接口在Java中的存取元素特點,需要的朋友可以參考下2024-08-08Spring中BeanFactory?FactoryBean和ObjectFactory的三種的區(qū)別
關(guān)于FactoryBean?和?BeanFactory的對比文章比較多,但是對ObjectFactory的描述就比較少,今天我們對比下這三種的區(qū)別,感興趣的朋友跟隨小編一起看看吧2023-01-01SpringBoot里使用Servlet進(jìn)行請求的實現(xiàn)示例
這篇文章主要介紹了SpringBoot里使用Servlet進(jìn)行請求的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01