โจทย์โปรแกรมให้ลองฝึก
เมื่อเริ่มการทำงานโปรแกรมจะมีการแสดงคำถาม 2 ตัวเลือก กรุณาพิมพ์คำสั่ง checkprice เพื่อให้โปรแกรมสามารถตรวจสอบราคาหนังสือได้ โดยหลังจากผู้ใช้ป้อนคำว่า checkprice ผ่าน keyboard โปรแกรมจะแสดงผลลัพธ์บน terminal ว่า กรุณาใส่ชื่อหนังสือที่จะตรวจสอบ โดยหนังสือที่มีให้ตรวจสอบในระบบคือหนังสือชื่อ doraemon เมื่อผู้ใช้ส่งชื่อหนังสือว่า doraemon เข้ามาระบบจะแสดงคำตอบผ่าน terminal ว่า 80 บาท และเล่มต่อมาคือคือหนังสือชื่อ ultraman เมื่อผู้ใช้ส่งชื่อหนังสือว่า ultraman เข้ามาระบบจะแสดงคำตอบผ่าน terminal ว่า 120 บาท ถ้าหากผู้ใช้พิมพ์ชื่อหนังสือที่ไมไ่ด้อยู่ในทั้งสองรายการนี้ ระบบก็จะตอบคำว่า ไม่มีชื่อหนังสือในระบบกลับไป
แต่ในกรณีที่ผู้ใช้เริ่มโปรแกรมและป้อนคำสั่งด้วยคำว่า compare โปรแกรมจะให้ใส่ชื่อหนังสือเล่มแรก และจากนั้นจะถามให้ใส่ชื่อหนังสือเล่มต่อไปผ่าน keyboard ตามลำดับ และจากนั้นระบบจะแสดงผลลัพธ์ว่า หนังสือเล่มแรก <ชื่อหนังสือเล่มแรก> มีความยาว <แสดงว่าน้อยกว่าหรือมากกว่า> เล่มที่สอง <ชื่อหนังสือเล่มสอง>
เทคนิคที่จะได้ใช้
ตัวอย่างคำแนะนำที่ใช้ในโจทย์ใช้จะมี if(เงื่อนไขแรก){ }else if(เงื่อนไขถัดไป){ }else{ } และ method ความสามารถที่ใช้จากตัวแปร Stringเช่น .length() มีการใช้ Scanner รับค่าจาก keyboard
เคล็ดไม่ลับ
โจทย์ของเราที่ตั้งไว้มีแอบวางยาน้องๆอยู่นิ้ดนึงงง คือเรื่องการที่จะเทียบตัวหนังสือได้ว่ามีค่าเหมือนกันหรือไม่ใช้เครื่องหมาย == เหมือนกับพวก primitive data type ตัวเลขไม่ได้ แต่ต้องใช้ method ของ String คือการใช้ ตัวแปรสตริง.equals(ตัวแปรสตริงอีกตัวที่จะเทียบ) ถ้าใครใช้ == ไปแล้วจะพบว่ามันไม่ผ่านตลอด เดี่ยวสาเหตุเกี่ยวกับเรื่อง ในสัปดาห์หน้าครับ เรื่องการ new object vs class