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 118 Mutant Flatworld Explorers

題目連結

題意:
一個長方形網格,座標左下為(0, 0),右上為(x, y)
有好幾隻機器人,對應題目好幾組指令

每組先給定機器人的原始座標(rx, ry)與面向方位(北N 東E 南S 西W)
接著一連串的指令,包含:
R-向右轉
L-向左轉
F-向前走,不轉向

如果機器人因為向前走超出邊界
要輸出最後所在座標、方位與"LOST"並停止該次動作
否則輸出所有指令跑完後的最後所在座標、方位

同一個測資當中,若前次機器人在某個座標LOST
會存在記憶點,也就是之後的機器人在相同位置
如果即將LOST,可以免於一死

舉例來說,假設 3*3的方格

有連續2組測資如下:
1 3 E
FFFFF
2 3 E
FFFFF

第一個機器人座標 (1, 3),面向東方
指令FFF...,走到 3 3 E後再執行 F 發生 LOST,所以輸出 3 3 E LOST

第二個機器人座標 (2, 3),面向東方
指令FFF...,走到 3 3 E後再執行 F 本來發生 LOST
因為有記憶點,所以可以忽略該F,繼續後續指令
最後輸出 3 3 E (因本例都是F,最後都忽略)

解法:
看似方位又一堆規則顯得複雜
其實照著題意模擬即可
唯一要注意的就是記憶點問題

模擬要記錄三個要素,機器人的x y座標(rx ry)和方位
指令L R只要改變方位
指令F就按照當下方位對座標加減:

N ry++
S ry--
E rx++
W rx--

記憶點的話,建立座標對應的布林陣列
當機器人即將發生LOST,註記當下座標
之後遇到LOST但有註記的座標就忽略

題目看起來只有一組測資
也就是同一個 x * y 網格,多個機器人

程式(Java):

留言

這個網誌中的熱門文章

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

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

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