Kotlin 與 Swift 語法對照:跨平台開發者 (2025年)

Kotlin 與 Swift 語法對照表(2025 年版) 在行動應用開發中, Kotlin 與 Swift 分別是 Android 與 iOS 的主流語言。雖然語法有些差異,但其實它們有很多相似之處。本文整理了常用的語法對照表,方便跨平台開發者快速上手。 1. 變數宣告 // Kotlin val name: String = "Alice" // 常數 var age: Int = 25 // 可變數 // Swift let name: String = "Alice" // 常數 var age: Int = 25 // 可變數 2. 條件判斷 // Kotlin if (age >= 18) { println("Adult") } else { println("Minor") } // Swift if age >= 18 { print("Adult") } else { print("Minor") } 3. 函式定義 // Kotlin fun greet(name: String): String { return "Hello, $name!" } // Swift func greet(_ name: String) -> String { return "Hello, \(name)!" } 4. 陣列與迴圈 // Kotlin val fruits = listOf("Apple", "Banana", "Cherry") for (fruit in fruits) { println(fruit) } // Swift let fruits = ["Apple", "Banana", "Cherry"] for fruit in fruits { print(f...

[Java] UVa 10008 What’s Cryptanalysis?

題目連結

題意:
要統計所有英文字母的出現個數(大小寫視為一樣的)
由個數多至少列出(每行輸出大寫字母與個數)
若相同則按A~Z的順序

本題只會有一組測資
測資先給行數,依序是每行的若干字元

解法:
由於大小寫需看成相同的
我們先將題目所有字元轉成大寫(ToUpperCase())
開一個陣列來統計各字母的出現次數

有點偷懶的地方是
可以用字母的ASCII當陣列的索引(index)
如 15 行 讀到 A~Z 的範圍後,假設是 A
16 行 直接在陣列的 c['A'] 加1 (也就是 c[65])
第6行宣告陣列大小只要比 'Z' 還大就好
(當然陣列大小也可以只有26,記得字元轉換數字index要扣 'A')

輸出時,因為題目要求依個數大到小順序
個數至多就是測資的總字元數吧
(如題目是 30個 A,就只會輸出 A 30,不會超過)

所以在20行,從個數 len 開始
讀到某個數值就按 A~Z的順序去跑
就可以題目要求的方式輸出了

程式(Java):

留言

  1. 請問一下第6行為甚麼值要給300

    回覆刪除
  2. 這題我們最多只要記錄A~Z的個數,總共26個就好
    所以我們開一個陣列
    原本可能會讓 c[0]代表A, c[1]代表B ... 依此類推

    再來,我要在讀到英文字後知道該放在哪個位置
    也就是根據他們的ASCII
    A~Z對應的ASCII是65~90
    得到後還要扣掉65才是陣列 c[0] ~ c[25]的位置

    因此,如果陣列直接開到90以上
    反正我只會用到65~90,其他不管
    如第16行的寫法
    強制轉型後就可以直接對到第65~90的位置了
    不用怕忘記扣掉或是多一個轉換容易出錯
    其實300也是我任意設的數字,開大了也不影響^^

    回覆刪除
  3. 不好意思想請教第12行的意思,與第16行的++是甚麼意思

    回覆刪除

張貼留言

這個網誌中的熱門文章

【Ubuntu】Terminal 複製貼上的方法 Copy & Paste

【Ubuntu】關閉預設畫面自動鎖定

[Java] HashMap資料結構簡介與用法