java 字符串的拼接的實現實例
java 字符串的拼接的實現實例
在實際的開發(fā)工作中,對字符串的處理是最常見的編程任務。本題目即是要求程序對用戶輸入的串進行處理。具體規(guī)則如下:
1. 把每個單詞的首字母變?yōu)榇髮憽?
2. 把數字與字母之間用下劃線字符(_)分開,使得更清晰
3. 把單詞中間有多個空格的調整為1個空格。
例如:
用戶輸入:
you and me what cpp2005program
則程序輸出:
You And Me What Cpp_2005_program
用戶輸入:
this is a 99cat
則程序輸出:
This Is A 99_cat
我們假設:用戶輸入的串中只有小寫字母,空格和數字,不含其它的字母或符號。每個單詞間由1個或多個空格分隔。
假設用戶輸入的串長度不超過200個字符。
要求考生把所有類寫在一個文件中。調試好后,存入與考生文件夾下對應題號的“解答.txt”中即可。相關的工程文件不要拷入。請不要使用package語句。
另外,源程序中只能出現JDK1.5中允許的語法或調用。不能使用1.6或更高版本。
實現實例:
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){
//獲取處理后的數據集合
ArrayList<String> list = repair(x);
//用于判斷數字的字符串
String intStr = "0123456789";
//獲取每個字符串進行字符的拼接轉換
String result = "";
for(int i=0;i<list.size();i++){
//取出一個字符
String temp = list.get(i);
//初始化結果值
result = temp;
//進行數字與字母的判斷
for(int k=0;k<temp.length()-1;k++){
if(intStr.indexOf(temp.charAt(k))!=-1 && intStr.indexOf(temp.charAt(k+1))==-1){ // 此時判斷條件為數字
// 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){ //字母數字
result = result.replace(temp.substring(k, k+2), (temp.charAt(k)+"_"+temp.charAt(k+1)));
}
}
System.out.print(result+" ");
}
}
//獲取用戶輸入的,去掉重復的空白符
public static ArrayList<String> repair(String x){
//保存首字符轉為大寫后的單詞
ArrayList<String> list = new ArrayList<String>();
//用于判斷數字的字符串
String intStr = "0123456789";
String[] arr = x.split(" ");
for(int i=0;i<arr.length;i++){
if(!arr[i].equals("")){
//對每一個字符進行判斷
if( intStr.indexOf(arr[i].charAt(0))==-1){ // 對應的字符為字母而不是數字,==-1表示沒有找到數字,則為字母
String newString = (arr[i].charAt(0)+"").toUpperCase()+arr[i].substring(1);
list.add(newString);
}else{
list.add(arr[i]);
}
}
}
return list;
}
}
以上就是java 字符串拼接的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
java并發(fā)編程工具類JUC之LinkedBlockingQueue鏈表隊列
大家都知道LinkedBlockingQueue 隊列是BlockingQueue接口的實現類,所以它具有BlockingQueue接口的一切功能特點,他還提供了兩種構造函數,本文中通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-06-06
springboot程序啟動慢-未配置hostname的解決
這篇文章主要介紹了springboot程序啟動慢-未配置hostname的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Java GUI編程之貪吃蛇游戲簡單實現方法【附demo源碼下載】
這篇文章主要介紹了Java GUI編程之貪吃蛇游戲簡單實現方法,詳細分析了貪吃蛇游戲的具體實現步驟與相關注意事項,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-09-09

