Online Kotlin Compiler

Write, compile, run, and debug Kotlin code online in a full-featured browser IDE. Work with multiple files, save your workspace, and collaborate in real time.

🚀 71,360 การดำเนินการทั้งหมด (479 ในเดือนนี้)
ผลลัพธ์

ฝึก Python ด้วยโจทย์เขียนโค้ด

แก้โจทย์จริงใน editor นี้: รันทดสอบตัวอย่าง ส่งคำตอบ และรับรีวิวโค้ดจาก AI

โจทย์ Python ทั้งหมด
ง่าย

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

คุณจะได้เรียนรู้ เลขคณิตค่าที่คืนกลับ
BeginnerLearning-pathVariables
ง่าย

Distance Between Points

Compute the straight-line distance between two points.

คุณจะได้เรียนรู้ ทฤษฎีบทพีทาโกรัสรากที่สอง
BeginnerFunctionsLearning-pathmath
ง่าย

Average of Three

Average three whole numbers.

คุณจะได้เรียนรู้ เลขคณิตการหาร
BeginnerLearning-pathVariables
ง่าย

Days in a Month

Return how many days a month has, including leap years.

คุณจะได้เรียนรู้ กฎของปฏิทินฟังก์ชันช่วย
BeginnerConditionsFunctionsLearning-path
ง่าย

ผลคูณจุดของเวกเตอร์สองตัว

คูณเวกเตอร์สองตัวทีละสมาชิกแล้วรวมผลลัพธ์ ซึ่งเป็นการคำนวณหลักของทุกนิวรอน

คุณจะได้เรียนรู้ เวกเตอร์ผลคูณจุด
โครงข่ายประสาทเทียมaiการเรียนรู้ของเครื่อง
ง่าย

ตรวจสอบจำนวนเฉพาะ

ตัดสินว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่

คุณจะได้เรียนรู้ การหารลงตัวปรับลูปให้เร็วขึ้น
BeginnerLoopsNumbersStudent-beginner
ง่าย

ตัวเลขอาร์มสตรอง

ตรวจสอบว่าตัวเลขเท่ากับผลรวมของแต่ละหลักยกกำลังจำนวนหลักหรือไม่

คุณจะได้เรียนรู้ แยกหลักตัวเลขเลขยกกำลัง
BeginnerNumbersStudent-beginner
ง่าย

Largest of Three

Pick the largest of three numbers without a built-in max.

คุณจะได้เรียนรู้ การเปรียบเทียบรวมเงื่อนไข
BeginnerConditionsLearning-path
ง่าย

สามเหลี่ยมตัวเลข

สร้างสามเหลี่ยมที่มีตัวเลขเพิ่มขึ้นในแต่ละแถว

คุณจะได้เรียนรู้ แถวที่ยาวขึ้นตัวนับข้ามแถว
BeginnerLearning-pathNested-loopsPatterns
ง่าย

Row Sums

Add up every row of a grid.

คุณจะได้เรียนรู้ ลิสต์ 2 มิติลูปซ้อน
BeginnerGridsLearning-path
ง่าย

Sum of Odd Numbers

Add every odd number up to a limit.

คุณจะได้เรียนรู้ ลูป forตัวสะสม
BeginnerLearning-pathLoops
ง่าย

รายการสิ่งที่ต้องทำ

จัดการรายการงาน: เพิ่ม ทำเครื่องหมายว่าเสร็จ ลบ และรายงานงานที่ยังค้างอยู่

คุณจะได้เรียนรู้ คอลเลกชันที่มีชนิดRecord
BeginnerSimulationStrings

🧩 เกี่ยวกับตัวรัน Kotlin ออนไลน์นี้

CodeUtility Kotlin Executor ช่วยให้คุณเขียน คอมไพล์ และรันโค้ด Kotlin ได้โดยตรงในเบราว์เซอร์ - ไม่ต้องติดตั้งโปรแกรม, IDE หรือเซ็ตอัป SDK ใดๆ ใช้คอมไพเลอร์ Kotlin จริงที่ทำงานในแซนด์บ็อกซ์แบบแยกส่วน เพื่อความปลอดภัยและประสบการณ์การรันที่สมจริง

เครื่องมือนี้รองรับ Kotlin หลายเวอร์ชัน - 1.6, 1.9 และ 2.1 - ให้คุณสำรวจการเปลี่ยนแปลงไวยากรณ์, ทดสอบความเข้ากันได้ของโค้ด และทดลองฟีเจอร์สมัยใหม่อย่าง coroutines, data classes และ sealed interfaces

เหมาะสำหรับนักศึกษาที่เรียนพื้นฐาน Kotlin นักพัฒนา Android ที่ลองสแนิปเพ็ต, หรือวิศวกรแบ็กเอนด์ที่ต้องการทดสอบลอจิกในสภาพแวดล้อม JVM โดยไม่ต้องออกจากเบราว์เซอร์

สภาพแวดล้อมจะรันแต่ละสแนิปเพ็ตภายในรันไทม์แบบคอนเทนเนอร์ที่ปลอดภัย ช่วยให้ประสิทธิภาพสม่ำเสมอและการรันโค้ดปลอดภัย

มากกว่าเครื่องมือรันโค้ด

ใช้ตัวแก้ไขหลายไฟล์ เทอร์มินัลประมวลผลแบบแยกส่วน ไลบรารีเฉพาะรันไทม์ พื้นที่ทำงานถาวร การแชร์ และการทำงานร่วมกันแบบเรียลไทม์ได้จากตัวประมวลผลเดียวกัน

วิธีใช้ตัวประมวลผลนี้

เลือกรันไทม์ เปิดหรือสร้างไฟล์ เขียนโค้ด แล้วเลือกเรียกใช้ ผลลัพธ์จะแสดงในเทอร์มินัล ส่วนผู้ใช้ที่ลงชื่อเข้าใช้สามารถเก็บไฟล์ในพื้นที่ทำงาน ติดตั้งไลบรารี และทำงานร่วมกันผ่านการแชร์ได้

  1. เลือกเวอร์ชันแล้วแก้ไขไฟล์ปัจจุบัน หรือเปิดไฟล์อื่นในพื้นที่ทำงาน
  2. เรียกใช้โค้ด ป้อนข้อมูลในเทอร์มินัลเมื่อระบบร้องขอ และตรวจสอบประวัติการเรียกใช้ที่บันทึกไว้
  3. ใช้ไลบรารี เครื่องมือพื้นที่ทำงาน การแชร์ และแชท เมื่องานของคุณต้องใช้โค้ดมากกว่าหนึ่งส่วน

💡 คู่มือพื้นฐาน Kotlin สำหรับผู้เริ่มต้น

1. การประกาศตัวแปรและค่าคงที่

Kotlin ใช้ val สำหรับตัวแปรที่เปลี่ยนค่าไม่ได้ และ var สำหรับตัวแปรที่เปลี่ยนค่าได้

val name: String = "Alice"
var age: Int = 30
val pi = 3.14  // ชนิดข้อมูลถูกอนุมาน

// ค่าคงที่
const val MAX_USERS = 100

2. เงื่อนไข (if / when)

ใช้ if หรือ when สำหรับหลายกรณีเงื่อนไข

val x = 2
if (x == 1) {
    println("หนึ่ง")
} else if (x == 2) {
    println("สอง")
} else {
    println("อื่นๆ")
}

when (x) {
    1 -> println("หนึ่ง")
    2 -> println("สอง")
    else -> println("อื่นๆ")
}

3. ลูป

ใช้ for, while และ do-while สำหรับการวนซ้ำ

for (i in 0..2) {
    println(i)
}

var n = 3
while (n > 0) {
    println(n)
    n--
}

4. อาเรย์

Kotlin รองรับอาเรย์ด้วยฟังก์ชัน arrayOf()

val numbers = arrayOf(10, 20, 30)
println(numbers[1])

5. การจัดการลิสต์

ใช้ mutableListOf สำหรับลิสต์แบบไดนามิก

val nums = mutableListOf(1, 2, 3)
nums.add(4)
nums.removeAt(0)

for (n in nums) {
    print("$n ")
}

6. อินพุต/เอาต์พุตผ่านคอนโซล

ใช้ readLine() สำหรับรับอินพุต และ println() สำหรับเอาต์พุต

print("กรอกชื่อของคุณ: ")
val name = readLine()
println("สวัสดี, $name")

7. ฟังก์ชัน

ฟังก์ชันใช้คีย์เวิร์ด fun พร้อมชนิดค่าที่ส่งกลับแบบระบุได้

fun add(a: Int, b: Int): Int {
    return a + b
}

println(add(3, 4))

8. แผนที่ (Map)

mutableMapOf ใช้เก็บคู่คีย์-ค่า

val ages = mutableMapOf("Alice" to 30)
println(ages["Alice"])

9. การจัดการข้อยกเว้น

ใช้ try, catch และ finally เพื่อจัดการข้อผิดพลาด

try {
    val result = 10 / 0
} catch (e: ArithmeticException) {
    println("ข้อผิดพลาด: ${e.message}")
}

10. การทำงานกับไฟล์

ใช้ File จาก java.io สำหรับการทำงานกับไฟล์

import java.io.File

File("file.txt").writeText("สวัสดีไฟล์")
val text = File("file.txt").readText()
println(text)

11. การจัดการสตริง

สตริงใน Kotlin รองรับเมธอดมากมายและการแทรกค่า (interpolation)

val text = "สวัสดีชาวโลก"
println(text.length)
println(text.substring(0, 5))
println(text.contains("ชาวโลก"))

12. คลาสและอ็อบเจ็กต์

คลาสใน Kotlin กระชับและรองรับคอนสตรัคเตอร์เริ่มต้น

class Person(val name: String) {
    fun greet() = println("สวัสดี ฉันคือ $name")
}

val p = Person("Alice")
p.greet()

13. ความปลอดภัยของค่า null

Kotlin แยกชนิดที่เป็น nullable และ non-null ออกจากกัน ใช้ ? และ ?: เพื่อความปลอดภัย

val name: String? = null
println(name?.length ?: 0)