看板 Soft_Job 關於我們 聯絡資訊
抱歉 小弟還是在學生 其實之前都是寫C 對java還是初學的階段 所以比較直覺想到不是用這些JAVA API的方式 所以只有用到length... 還請各位多多指教 不知道有無需要改進的地方 自己常常會有過於冗長的問題 當然目前只有考慮最佳狀況( 第一個單字前沒有空白等等,計算的話就是都是全整數 ) ===java新手版=== 『給你String API: indexOf, subString, length 把"this is a String"這樣的字串以word為單位做反序輸出』 ================ public class Main { public static void main ( String[] args ) { String str = "this is a String"; int length = str.length(); PrintAllWordsByRev( str, length ); } // main() public static void PrintAllWordsByRev( String str, int len ) { String tmp; // 用來存放一個單字(一次一個字元存入) int index = len - 1; // 最初從字串尾巴開始 boolean isDoneAWord; // 是否完成一個單字了,由空白決定 boolean isAllDone = false; // 是否所有單字完成,由index決定 while ( !isAllDone ) { isDoneAWord = false; tmp = new String(); // 重新初使 一次僅一個單字 for ( ; !isDoneAWord ; index-- ) { // 處理單一單字 if ( index == -1 ) { // 最後一筆(及前面第一個)單字處理好 // ※因為index : 0為最前面單字的第一字元 之後for遞減 變-1 isDoneAWord = true; // 跳出for isAllDone = true; // 以及外面的while ,全好了 } // if else if ( str.charAt(index) == ' ' ) { // 單字間的空白 isDoneAWord = true; // 跳出for 準備處理下個單字 } // else if else { // not white space tmp = str.charAt(index) + tmp; } // else } // for 處理一個單字於tmp System.out.println( tmp ); // 第二題的計算 // 就只要用Integer.parseInt另外改一下 // 另外用個變數累加即可 } // while 整個句子 } // PrintAllWordsByRev() } // class Main -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.126.165.10 ※ 編輯: VVii 來自: 122.126.165.10 (07/20 01:14)
rocairforce:這啥標題 07/20 02:49
VVll:這啥鬼 07/20 09:37
a2975313:這什麼東東...怎麼會開始套論程式碼,離題了吧~ 07/20 16:17
prag222:時間太多還是嫌程式寫不夠多,難道鄉民下班後還要看你CODE 07/21 05:03