發表文章

目前顯示的是有「CPE」標籤的文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

以下是自己的 CPE 一顆星選集 解題紀錄 (共有 49 題) 每次考試都會從一顆星選集中抽 1 提出來考 算是比較能把握的部分,重點筆記整理如下 內容包含題目說明、程式碼、註解說明、解答、考古題統計(下方土黃色日期) 解題使用的程式語言是  JAVA  目前有提供 10 題的試閱 另有提供完整 49 題的完整解答 ( pdf 檔 ), 共 305 頁, 售價 $399 元 , 若有需要請來信購買 greens2314@gmail.com 推薦閱讀: 建議熟讀 java 基本觀念,與使用 eclipse 練習, 等熟悉之後再到瘋狂程設考試(一定要懂如何查 JAVA API 與使用英漢字典) Java 考試常用的方法或類別 Eclipse 常用小技巧 CPE 一顆星選集: 編號 | 題目名稱 | 歷屆考古題日期 1. Vito's family (CPE10406, UVA10041) 2024/04/23 可與第 40 題一起看 2. Hashmat the brave warrior (CPE10407, UVA10055) 3. Primary Arithmetic (CPE10404, UVA10035)   2011/05/25、2023/03/21 4. The 3n + 1 problem (CPE10400, UVA100)   2010/06/09 5. You can say 11 (CPE10460, UVA10929)   2011/12/20 6. Bangla Numbers (CPE10414, UVA10101)   2018/12/18 7. List of Conquests (CPE21924, UVA10420)   2019/03/26   可與 第 8, 11, 43 題一起看 字元與字串 8. What's Cryptanalysis? (CPE10402, UVA10008)   可與 第 7, 11, 43 題一起看 9. Decode the Mad man (CPE10425, UVA10222)   2021/10/19 10. Problem J: Summing Digits (CPE10473, UVA11332) ...

Java 考試常用的觀念、類別與方法

圖片
 基本資料型別 Primitive Types 參考資料型別 Reference Types 基本資料型別以外的都是參考資料型別 參考資料型別可提供相關屬性或方法 就像遙控器,有提供按鈕,可操控音量或轉台 例如: 字串(String) 基本資料型別之外包類別 每個基本資料型別都有一個外包類別 ( wrapper classes) 將基本資料型別 物件化、提供多樣方法 因為 static 靜態方法,可直接呼叫方法,不需初始化物件,例如:new Integer() 字串轉數字:int number = Integer.parseInt("6"); 基本型別與外包類別 記憶體 Global全域: 存放宣告為 static 的類別變數,在java執行期間一值被維護的資料。 Stack堆疊: 存放基本型別(Primitive type)資料,可預測的記憶體配置方式。 Heap堆積: 存放參考型別(Reference type)資料,動態配置記憶體。 泛型 Stack<Integer> stack = new Stack<Integer> (); <E>  <參考資料類別> <>裡面必須放參考資料類別,第一個字母是大寫 泛化 清楚的跟 Stack 說,我們要收集 Integer 型別的資料 泛化過資料型別是安全的,只有 Integer 型別的資料可以被存放到 Stack 裡面 如果有非Integer 型別的資料,則會出現錯誤 無泛化 任何型態的資料都可以加入Stack中 但讀取時需要轉型才能使用 若有多種形態同時存入Stack中,讀取資料時,會遇到轉型的問題 常用技巧 取得使用者輸入  Scanner scanner = new Scanner(System.in); Scanner為簡易的IO工具 System.in 使用者可自行輸入資料(可自行輸入測試資料) 取得使用者輸入的數字或字串 scanner.nextInt():取得使用者輸入的整數 scanner.nextFloat():取得使用者輸入的浮點數 scanner.next():取得使用者輸入的字串,                   ...

Eclipse 常用小技巧

圖片
 程式碼自動提示設定  快速新增Main方法 建立 class 時可勾選 public static void main(String[] args) 選項 或者是在 eclipse 打 main 會自動出現 程式碼片段, 可快速產生 main method 的結構,可大幅降低 coding 的時間與打錯字的機會 打開自動提示 若打 main 沒有出現提示的話,請調整 eclipse 的設定 Window / Preferences / Java /Editor/ Content Assist / Auto Activation  Disable insertion triggers except 'Enter' 打勾 避免 eclipse Enter 以外的按鍵造成觸發 Auto activation delay (ms) 可設定為 0 Auto activation triggers for Java 輸入 .abcdefghijklmnopqrstuvwxyz 常用 輸入 if 之後畫面會自動出現提示 或是打sysout 會自動產生System.out.println(); 註解與排版 註解 將滑鼠停留在某一行,或是反白多行 Ctrl + / 可增加 // 註解 Ctrl + / 再按一次可取消 // 註解 多行註解可參考下圖選項或快捷鍵 排版 Ctrl + Shift + F 可自動排版程式碼 Import 套件 一次 import 所有物件:Ctrl + Shift + O 使用自動提示匯入 Debug 偵錯 在紅框位置點兩下,即可新增中斷點(藍色小圓圈) 按左上角的蟲圖示即可偵錯 按左上角的紅色方形圖示即可停止偵錯 可透過 Debug 與 Variables 視窗查看訊息 按 F6 可讓程式逐行執行 快速縮放字體大小 放大 Ctrl + 縮小 Ctrl - 風格

10. Problem J: Summing Digits (CPE10473, UVA11332) - CPE一顆星解答與說明

圖片
    👉   CPE 一顆星選集列表(49題) 題目說明與解答 題目 將讀入的數字N,將其中每個字元相加,直到剩個位數(小於 10) 為止 輸入說明 每一行包含一個正整數 N  當數值為 0 時,結束處理 輸出說明 根據每個正整數N,輸出計算的結果 解題技巧 使用字串,取得每個字元 解題過程 取得輸入 因為測試資料的筆數是動態非固定值,所以使用 while 迴圈與 scanner.hasNextLine() 來偵測是否有整行的輸入 使用 scanner.nextLine() 取得資料 偵測是否結束計算 若為字串" 0 "則使用 break 結束此 while 迴圈 字串比對,String 是參考資料型別 比對字串的文字是否相同,請使用 equals() 方法 請不要使用 == 進行字串比對,== 是比對變數在記憶體上的位置 取得每個字元 使用 while 迴圈判斷公式計算結果是否為個位數,因為採用字串解題,個位數可解讀成字串長度為 1 當字串長度大於 1 時, 則須執行 while 迴圈的公式 使用 for 迴圈與 String 的 charAt() 方法來取得每一個字元 加總每個數字 將字元轉成數字,有兩種方法,擇一使用 Character.getNumericValue('1') 將字元轉成字串 String.valueOf(),再將字串轉成整數 Integer.parseInt() Integer.parseInt(String.valueOf('1‘)) 將透過 for 迴圈逐一加總每個數字的結果轉成字串     👉   CPE 一顆星選集列表(49題) 題目說明與解答

9. Decode the Mad man (CPE10425, UVA10222) - CPE一顆星解答與說明

圖片
    👉   CPE 一顆星選集列表(49題) 題目說明與解答 題目 寫程式來解碼(decode)瘋狂老教授的語言 輸入說明 有一筆測試資料,是編碼(encoded)過後的訊息 其中包含一個或多個單字 輸出說明 將解碼後的文字輸出 在標準鍵盤(standard keyboard)上,找到該測試資料的字母(letter)或標點符號(punctuation symbol),並取代成鍵盤上左邊第二個的字母 解題技巧 注意鍵盤上的英文與符號的按鍵位置與順序,尤其是最左邊往前推會讀取上一排的最後面 觀察「 ` 1」 符號左移後的變化,題目並沒有講 透過瘋狂程設的自訂測資 觀察 「 ` 1」符號解碼的結果,發現每次「 ` 」解碼結果都太一樣 官方的程式碼,沒有處理「位置 減 2 小於 0 的問題」 解題過程 取得者輸入 使用 while 迴圈與 scanner.hasNextLine(),偵測使用者是否有輸入資料 當使用者輸入資料時 使用 scanner.nextLine() 取得整行句子 使用 String 類別本身提供的 toLowerCase() 方法,將句子轉成小寫 建立鍵盤字串 將鍵盤文字拉平,建立標準鍵盤的所有文字,從左上的「 ` 」符號開始,由左而右,由上而下,一直打到 「 / 」符號結束 遇到反斜線 「 \」 ,要打成 「 \\」 跳脫字元 Escape Sequence 使用字串時,有一些特殊字元無法表示,需使用「\」,來表達特殊字元 分析 text 句子中的字元 使用 for 迴圈,產生從第一個 ~ 最後一個字元的位置 使用 String 類別提供的 charAt() 方法來取得句子中的每一個字元 檢查字元是否存在標準鍵盤中 先找出句子中的字元,位於標準鍵盤字串中的哪個位置,使用 String 類別提供的 indexOf() 方法,會指出該字元的開始位置。如果沒有找到則返回 -1  有找到字元在標準鍵盤字串中的位置:使用 charAt() 方法,讀取「字元位置 - 2 」的字元 沒有找到字元在標準鍵盤字串中的位置:直接將字元印出,例如空白     👉   CPE 一顆星選集列表(49題) 題目說明與解答