Tutorial

Java 101 - Input & Output (EP.3)

By Arnon Puitrakul - 23 ธันวาคม 2014

Java 101 - Input & Output (EP.3)

จากเรื่องที่แล้วเราได้เรียนเรื่องของ Class กับ Object ไปแล้วว่ามันต่างกันยังไง ใช้งานยังไง
วันนี้เรื่องสั้นๆครับ นั่นคือเรื่องของ Input & Output นั่นเอง
ก่อนอื่น เราพูดถึงเรื่องของการเอาข้อมูลออกโดยใช้คำสั่งตามข้างล่างนี้เลย

System.out.println(“Write Sth”);

คล้ายๆ printf บนภาษา C เลย เห็นมั้ย ไม่ยากอย่างที่คิด
แต่จริงๆแล้วคำสั่ง **Print **นั้นไม่ได้มีแค่ println แต่มันมีอีกเยอะเลย เช่น **printf **(ตัว printf ผมมีตัวอย่างให้ใน Source Code แล้ว) ส่วนตัวที่เหลือให้ลองไปดูใน Doc ของตัว Java
ถัดมาเป็นเรื่องของการเอาข้อมูลเข้าหรือ **Input **อันนี้จะซับซ้อนกว่า **Input **นิดหน่อย เราจะต้องสร้าง Object **นิดหน่อย **ก่อนอื่นเราจะต้อง Import Library เข้ามาก่อน โดยเพิ่ม

Import java.util.Scanner;

ไว้บนหัวโปรแกรมก่อน หลังจากนั้น เราต้องมาสร้าง Object จาก Class ชื่อ Scanner กัน

Scanner sc = new Scanner (System.in);

ถ้าจำไม่ได้ให้กลับไปอ่าน EP.2 แล้วจะเข้าใจ โค๊ตด้านบนนี้ เราสร้าง Object ชื่อ sc จาก Class Scanner ขึ้นมา
หลังจากเราได้ Object ชื่อ sc เข้ามาแล้ว ทีนี้เราจะมาใช้ Object ตัวนี้กัน

String name = sc.nextLine();

ด้านคือโค๊ตตัวอย่าง มาอธิบายโค๊ตกัน
เราสร้างตัวแปรชื่อ name ที่เป็น String ขึ้นมา แล้วให้ค่ามันคือ ให้ Object sc ไปรับค่าจาก Keyboard มาทั้งบรรทัด (อารมณ์เหมือนกับ gets() ในภาษา C เป๊ะเลย)

แล้วถามต่อว่า เราจะรับค่าตัวเลขแค่ตัวเดียวทำยังไง?

ไม่ยากเลย แค่เปลี่ยนจาก nextLine เป็น nextInt เท่านั้นเองใช้ได้เหมือนกัน
สุดท้าย หลังจากใช้ Scanner เสร็จแล้วอย่าลืมปิดมันด้วยโดยเรียก Method close จากตัว Object Scanner ที่เราสร้าง ในที่นี้ผมใช้ชื่อ Object ว่า sc เพราะฉะนั้นโค๊ตควรจะเป็นอย่างด้านล่าง

sc.close();

Source Code :https://drive.google.com/folderview?id=0BwrPA9Miv4o2WmRERjg2ZGRrREk&usp=sharing

Read Next...

จัดการข้อมูลบน Pandas ยังไงให้เร็ว 1000x ด้วย Vectorisation

จัดการข้อมูลบน Pandas ยังไงให้เร็ว 1000x ด้วย Vectorisation

เวลาเราทำงานกับข้อมูลอย่าง Pandas DataFrame หนึ่งในงานที่เราเขียนลงไปให้มันทำคือ การ Apply Function เข้าไป ถ้าข้อมูลมีขนาดเล็ก มันไม่มีปัญหาเท่าไหร่ แต่ถ้าข้อมูลของเราใหญ่ มันอีกเรื่องเลย ถ้าเราจะเขียนให้เร็วที่สุด เราจะทำได้โดยวิธีใดบ้าง วันนี้เรามาดูกัน...

ปั่นความเร็ว Python Script เกือบ 700 เท่าด้วย JIT บน Numba

ปั่นความเร็ว Python Script เกือบ 700 เท่าด้วย JIT บน Numba

Python เป็นภาษาที่เราใช้งานกันเยอะมาก ๆ เพราะความยืดหยุ่นของมัน แต่ปัญหาของมันก็เกิดจากข้อดีของมันนี่แหละ ทำให้เมื่อเราต้องการ Performance แต่ถ้าเราจะบอกว่า เราสามารถทำได้ดีทั้งคู่เลยละ จะเป็นยังไง เราขอแนะนำ Numba ที่ใช้งาน JIT บอกเลยว่า เร็วขึ้นแบบ 700 เท่าตอนที่ทดลองกันเลย...

Humanise the Number in Python with "Humanize"

Humanise the Number in Python with "Humanize"

หลายวันก่อน เราทำงานแล้วเราต้องการทำงานกับตัวเลขเพื่อให้มันอ่านได้ง่ายขึ้น จะมานั่งเขียนเองก็เสียเวลา เลยไปนั่งหา Library มาใช้ จนไปเจอ Humanize วันนี้เลยจะเอามาเล่าให้อ่านกันว่า มันทำอะไรได้ แล้วมันล่นเวลาการทำงานของเราได้ยังไง...

ทำไม 0.3 + 0.6 ถึงได้ 0.8999999 กับปัญหา Floating Point Approximation

ทำไม 0.3 + 0.6 ถึงได้ 0.8999999 กับปัญหา Floating Point Approximation

การทำงานกับตัวเลขทศนิยมบนคอมพิวเตอร์มันมีความลับซ่อนอยู่ เราอาจจะเคยเจอเคสที่ เอา 0.3 + 0.6 แล้วมันได้ 0.899 ซ้ำไปเรื่อย ๆ ไม่ได้ 0.9 เพราะคอมพิวเตอร์ไม่ได้มองระบบทศนิยมเหมือนกับคนนั่นเอง บางตัวมันไม่สามารถเก็บได้ เลยจำเป็นจะต้องประมาณเอา เราเลยเรียกว่า Floating Point Approximation...