利用java項(xiàng)目中對字符串進(jìn)行拼接?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)專注于東寧企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。東寧網(wǎng)站建設(shè)公司,為東寧等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)java 字符串拼接的實(shí)現(xiàn)
在實(shí)際的開發(fā)工作中,對字符串的處理是最常見的編程任務(wù)。本題目即是要求程序?qū)τ脩糨斎氲拇M(jìn)行處理。具體規(guī)則如下:
1. 把每個(gè)單詞的首字母變?yōu)榇髮憽?br/>2. 把數(shù)字與字母之間用下劃線字符(_)分開,使得更清晰
3. 把單詞中間有多個(gè)空格的調(diào)整為1個(gè)空格。
例如:
用戶輸入:
you and me what cpp2005program
則程序輸出:
You And Me What Cpp_2005_program
用戶輸入:
this is a 99cat
則程序輸出:
This Is A 99_cat
我們假設(shè):用戶輸入的串中只有小寫字母,空格和數(shù)字,不含其它的字母或符號。每個(gè)單詞間由1個(gè)或多個(gè)空格分隔。
假設(shè)用戶輸入的串長度不超過200個(gè)字符。
要求考生把所有類寫在一個(gè)文件中。調(diào)試好后,存入與考生文件夾下對應(yīng)題號的“解答.txt”中即可。相關(guān)的工程文件不要拷入。請不要使用package語句。
另外,源程序中只能出現(xiàn)JDK1.5中允許的語法或調(diào)用。不能使用1.6或更高版本。
實(shí)現(xiàn)實(shí)例:
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"; //獲取每個(gè)字符串進(jìn)行字符的拼接轉(zhuǎn)換 String result = ""; for(int i=0;i<list.size();i++){ //取出一個(gè)字符 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í)判斷條件為數(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("")){ //對每一個(gè)字符進(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項(xiàng)目中對字符串進(jìn)行拼接-創(chuàng)新互聯(lián)
本文地址:http://muchs.cn/article0/dhehio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站營銷、網(wǎng)站維護(hù)、建站公司、App設(shè)計(jì)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容