Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Computer Programming (Java)

Computer Programming (Java)

Published by SAM PURIWAT, 2022-08-22 10:33:33

Description: เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมคอมพิวเตอร์ ใช้สำหรับการเรียนการสอนในหลักสูตรการจัดการเทคโนโลยีสารสนเทศ คณะเทคโนโลยีการจัดการ มทร.ศรีวิชัย

Keywords: ่่java,programming,subject

Search

Read the Text Version

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 181 13.3 การอา นขอ มูลจาก text file จากหัวขอที่ผานมาไดทำการสรางไฟลเรียบรอยแลว ในหัวขอนี้จะเปนการทดสอบการอา น ไฟลจ าก Test.txt โดยการใชคลาส BufferedReader สำหรับการอานไฟลท ี่ละบรรทดั และแสดงออก ทางจอภาพ ดงั รูปที่ 13.5 รูปท่ี 13.5 ตัวอยา งโปแกรมการอา นไฟล จากตวั อยางเปนวธิ กี ารอานไฟลอ ยางงา ย แตม กี ารใชค ลาสจากไลบราร่มี ากมายเพ่ือใชใ นการ อา นไฟล จากน้นั ประกาศออบเจ็คของคลาส Path ช่ือ file สำหรบั เกบ็ ท่อี ยขู องไฟล ประกาศออบเจ็ค reader เปนออบเจ็คของคลาส BufferedReader สำหรับใชอา นไฟลแลวเปดไฟลเพ่ืออานดวยคำส่ัง Files.newBufferedReader() โดยสงอากิวเมนตเปนอยูของไฟล และ charset เปนแบบ StandardCharsets.UTF_8 เพื่อใหโปรแกรมอานไดทุกภาษา จากนั้นตัวแปร line จะเก็บขอความ จากการอานไฟล Test.text ไวช่วั คราวทลี ะบรรทัด _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

182 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) ในคำสั่ง while จะเปนการอานไฟลโดยใชคำสั่ง reader.readLine() ซึ่งจะทำการอานไฟล ทีละบรรทัดมาเกบ็ ไวในตัวแปร line แลว แสดงขอ ความทีอ่ านไดท างจอภาพทีละบรรทัด จนกวาคาที่ สงกลับมาจะมคี า เปน null จงึ สนิ้ สุดการทำงานของคำสง่ั while เมื่อโปรแกรมอานไฟลเสร็จสิ้นแลวจะตองทำการปดไฟลที่กำลังใชงานเสมอดวยเมธอด close() เพื่อใหโปรแกรมอื่นสามารถใชงานไฟลนั้นได จากในตัวอยางจึงสามารถอานขอความจาก Test.txt ไดผ ลลพั ธ ดงั รปู ท่ี 13.6 รปู ท่ี 13.6 ผลลพั ธการรันโปรแกรมการอา นไฟล 13.4 การเขียนขอ มูลลง text file ในหัวขอนี้จะเปนการเขียนขอมูลลงไปบน text file สำหรับภาษา Java สามารถใชคลาส BufferWriter ในการเขียนขอ มูลลงไปในไฟลไ ด ดังรูปท่ี 13.7 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 183 รูปท่ี 13.7 ตวั อยา งโปแกรมการเขยี นไฟล สำหรบั การเขยี นขอมูลลงไฟลจะเริม่ ตน ดว ยการนำเขา ไลบรารี่ทจ่ี ำเปน สำหรบั การเขียนไฟล และทำการอานที่อยูของไฟล (path) เก็บไวที่ออบเจ็ค file และสรางออบเจ็ค writer สำหรับเขยี น ไฟลโ ดยสงอากิวเมนต 2 ตวั คอื ทอี่ ยไู ฟล (path) และโหมดการเขยี นแบบ UTF-8 ในคำสั่ง for จะวนซ้ำเพื่อเขยี นขอความ “Hello” ตามดวยเลขจำนวนรอบ 10 ครั้ง ลงใน ไฟล Test.txt และปดไฟลด วยเมธอด close() เมอ่ื เขยี นขอมลู ลงไฟลเสรจ็ ส้นิ แลว จะไดผ ลลัพธขอมูล ที่อยูในไฟลตามรปู ท่ี 13.8 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

184 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รปู ท่ี 13.8 ผลลัพธการรันตวั อยา งโปรแกรมการเขยี นไฟล จะสังเกตเห็นวาขอมลู เดมิ หายไป เนือ่ งจากวิธีการนจ้ี ะเปนการเขยี นทับขอ มลู เดิมที่มีอยูหาก ตองการเขียนขอมูลลงไฟลตอจากขอมูลเดิมที่มีอยูแลว จะตองเพิ่มอากิวเมนตตัวท่ี 3 ที่คำสั่ง Files.newBufferedWriter(); ตวั อยา งโปรแกรม ดงั รปู ที่ 13.9 รปู ที่ 13.9 ตัวอยางการเขยี นไฟลต อจากขอมูลเดมิ _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 185 ในตัวอยางมกี ารเปลย่ี นแปลงขอ ความท่ีเขยี นลงไฟลเ ปน “Java” ตามดวยเลขจำนวนรอบ ซ่งึ คำสั่งในการเขียนจะทำงานทง้ั หมด 5 คร้ัง จึงไดผลลพั ธ ดงั รูปที่ 13.20 รูปที่ 13.10 ผลลัพธการรนั โปรแกรมเขียนไฟลต อจากขอ มลู เดิม _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

186 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) แบบฝก หัดบทท่ี 13 1. จงเขียนโปรแกรมเพอ่ื สรา งไฟลช ่อื programming.txt ไวในโปรเจคโฟลเดอร จากนนั้ ทำการเปลย่ี น ชื่อไฟลเปน computer.txt และ อาน path ของไฟลโดยการใชเมธอดในคลาส File โดยใชคำสั่งใน คลาส File สกั เกตผลลพั ธและอภปิ รายผลการทำงานของโปรแกรม 2. จงเขียนโปรแกรมเพอ่ื เขยี นขอมลู ลงไฟลจากโจทยใ นขอ ที่ 1 โดยผใู ชกรอกขอมูลตวั เลขจำนวนเต็ม 2 จำนวน หาผลรวมเลขสองจำนวน และเขียนขอมูลทั้งหมดลงในไฟล เชน 5 + 5 = 10 ทำวนซ้ำ จำนวน 10 รอบ 5. เขียนขอ มลู ลงไฟลว า “Computer Programming with Java” ตอ จากขอมลู เดิม ในโจทยขอ ที่ 2 จากนั้นอานขอมูลทั้งหมดจากไฟลแสดงทางจอภาพ สักเกตขอผิดพลาดพรอมทั้งอภิปรายผลการ ทำงานของโปรแกรม _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู ิวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 187 วธิ กี ารสอนและกิจกรรม 1. สอนแบบบรรยายโดยใชสอ่ื ประกอบการสอน 2. ใหน กั ศกึ ษามสี วนรว มในกจิ กรรมระหวา งการเรียนการสอนโดยใชว ธิ กี ารถาม-ตอบ 3. ปฏบิ ตั ิการเขยี นโปรแกรมการสรางไฟล อา นไฟล และเขยี นไฟล เอกสารประกอบ เอกสารประกอบการสอน บทท่ี 13 การจดั การไฟล สอื่ การสอน สอ่ื ประกอบการสอน ไฟลนำเสนอ power point บทที่ 13 การจดั การไฟล โสตทัศนวัสดุ เครื่องฉายโปรเจคเตอร งานทม่ี อบหมาย 1. ศึกษาการทำงานเก่ยี วกับไฟล การสรา งไฟล อา นไฟล และเขยี นไฟล 2. แบบฝก หัดการเขียนโปรแกรมเกย่ี วกบั การทำงานกบั ไฟลเ บอ้ื งตน การวัดผล 1. สังเกตพฤตกิ รรมการเรียนในหอ งเรยี น 2. สงั เกตพฤติกรรมการมสี วนรว มในกจิ กรรมระหวางการเรียนการสอนในการถาม-ตอบ 3. ตรวจงานทม่ี อบหมาย 4. ทดสอบตามจดุ ประสงคก ารสอน บันทกึ การสอนและขอ สงั เกต …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

188 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู วิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 189 สัปดาหท่ี 15-16 ใบเตรียมการสอน เวลา 4 ชว่ั โมง บทท่ี 14 ตัวอยา งโปรแกรมกรณศี กึ ษา 14.1 การแลกเปล่ียนเงนิ ตราตา งประเทศ 14.2 เอพไี อ (API) 14.3 การเพ่ิมไลบรารี่ Java 14.4 โปรแกรมแลกเปล่ยี นสกุลเงินตางประเทศ จดุ ประสงคก ารสอน 14.1 สามารถเพิ่มไลบราร่ี Java เพ่ือใชง านในการเขียนโปรแกรม 14.2 สามารเขยี นโปรแกรมเพอื่ เรียกใชขอมูลจากเซริ ฟเวอรท ่ใี หบ รกิ ารได 14.3 สามารถปรับปรงุ แกไขโปรแกรมใหม ปี ระสิทธิภาพการใชงาน _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ รู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

190 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) บทที่ 14 ตัวอยา งโปรแกรมกรณีศึกษา ในบทนี้จะเปน ตัวอยางการเขียนโปรแกรมกรณศี ึกษาอัตราการแลกเปล่ียนเงินตราระหวาง ประเทศ ซึ่งการแลกเปลี่ยนเงินตรานั้นเปนพื้นฐานในการทำธุรกิจสำหรับบริษัทที่มีการคาระหวาง ประเทศ อตั ราการแลกเปล่ยี นมกี ารผนั ผวนตลอดเวลา ในตวั อยา งโปรแกรมน้ีจะเปนโปรแกรมท่ีผูใช สามารถเลือกเงินตราชนิดหนึ่งเปลี่ยนเปนเงินชนิดหนึ่งโดยใช Application program interface (API) ทท่ี ำใหโปรแกรมมกี ารปรบั เปลยี่ นอัตราแลกเปล่ยี นตามตลาดโดยมีทฤษฎีท่เี กยี่ วขอ งดงั ตอ ไปน้ี 14.1 การแลกเปลย่ี นเงนิ ตราตางประเทศ การแลกเปลี่ยนเงินตราตางประเทศ คือ เชน อัตราแลกเปลี่ยนระหวางเงินบาทกับเงิน ดอลลารสงิ คโปรของประเทศสิงคโ ปร คือ 23 บาทตอ 1 ดอลลารสงิ คโ ปร เปนตน บริษทั สว นใหญจ ะ ประสบกับความผันผวนของอัตราแลกเปลี่ยนในแตละวัน ความผันผวนนั้นจะสงผลทั้งทางตรงและ ทางออมตอกระแสเงินสด รายได คาใชจาย และงบการเงินโดยรวมของบริษัทที่ทำการคาระหวาง ประเทศ ประเทศไทยไดเปลี่ยนมาใชระบบอัตราแลกเปลี่ยนลอยตัวแบบมีการจัดการ (Managed Float) ต้ังแตว ันที่ 2 กรกฎาคม 2540 เปนตนมา โดยธนาคารแหงประเทศไทย (ธปท.) มแี นวทางการ บรหิ ารจดั การอัตราแลกเปลย่ี นเพอื่ ดแู ลเสถยี รภาพ โดยไมไดก ำหนดเปา หมายวาอตั ราแลกเปล่ียนควร จะอยู ณ คาใดคา หนึ่งโดยเฉพาะ แตจ ะคอยตดิ ตามและดูแลใหอตั ราแลกเปล่ียนเคลอ่ื นไหวสอดคลอง กับพืน้ ฐานทางเศรษฐกิจ และไมผนั ผวนมากเกินไป จนเปน อปุ สรรคตอ การปรับตวั ของภาคเศรษฐกิจ และกอ ใหเกิดผลกระทบดานลบทีร่ นุ แรงตอระบบเศรษฐกจิ การเงนิ ตัวอยา งเชน อัตราการแลกเปล่ยี น เงนิ ระหวางประเทศในวนั ท่ี 25 มถิ นุ ายน 2562 ดงั รปู ที่ 14.1 _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 191 รปู ท่ี 14.1 อตั ราการแลกเปลี่ยนเงินตราตางประเทศวันท่ี 25 มถิ ุนายน 2562 แหลง ท่ีมา: www.bot.or.th/Thai/FinancialMarkets/_layouts/Application/ExchangeRate/ExchangeRate.aspx 14.2 เอพไี อ (API) Application program interface หรือที่เรียกสั้น ๆ API คือ ชองทางการเชื่อมตอระหวาง เว็บไซตหน่งึ ไปยังอกี เว็บไซตห น่ึง หรอื เปน การเชอ่ื มตอ ระหวา งผูใชง านกับ Server หรือจาก Server เชอ่ื มตอ ไปหา Server ซงึ่ API นเ้ี ปรียบไดเปนภาษาคอมพิวเตอรท ที่ ำใหค อมพวิ เตอรสามารถสื่อสาร และแลกเปลย่ี นขอมูลกนั ไดอยางอสิ ระ โดยทำหนา ทชี่ ว ยในการเขาถงึ ขอมลู ตาง ๆ หรือจะเปนการนำ ขอมูลตา ง ๆ ออกจากเว็บไซต หรือจะเปนการสงขอมลู ไปยังเว็บไซต โดยเจา ของเวบ็ ไซตที่มี API จะ กำหนดวิธกี ารเขาถึงบริการตาง ๆ ของทางเวบ็ ไซต API ประกอบไปดว ย 2 สวนหลัก ๆ คอื  ขอกำหนดที่จะอธิบายการแลกเปลี่ยนขอมูลระหวางโปรแกรม ซึ่งทำออกมาใน ลกั ษณะเอกสาร (document) เพ่อื บอกวา request/response ตองเปนอยา งไร _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

192 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202)  ซอฟตแ วรท ี่เขียนขึน้ ตามขอ กำหนด และทำการเผยแพรอ อกไปใหใชงาน ตัวอยางโปรแกรมในบทนี้จะใช API จาก ExchangeRate-API ซึ่งเปนเว็บเซิรฟเวอรสำหรับ ใหบริการอัตราการแลกเปลี่ยนเงินตราตางประเทศ โดยการสงคำขอเปนเงินตราสกุลหน่ึง เว็บเซิรฟเวอรจะสงขอมูลอัตราแลกเปลี่ยนสกุลเงนิ ตาง ๆ มาให โดยที่ผูใชหรือผูเ ขียนโปรแกรมไม จำเปน ตองสมคั รสมาชิกหรือสรางบัญชีผูใช (account) ขึ้นมาเพ่ือขอใชงาน และมีตัวอยางการเขยี น คำสงั่ การใชง าน API ดวยภาษาตา ง ๆ ดังรูปที่ 14.2 รูปท่ี 14.2 ExchangeRate-API แหลง ทมี่ า: https://www.exchangerate-api.com/docs/java-currency-api สำหรบั การทดลองใช API นก้ี ็สามารถทำไดโ ดยการใชโ ปรแกรมบราวเซอรแ ละเขา ไปยงั เวบ็ ไซต https://api.exchangerate-api.com/v4/latest/THB จะไดผลลพั ธ ดังรปู ท่ี 14.3 รูปที่ 14.3 ตัวอยางการใช API _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ รู ิวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 193 จากรูปเปนอัตราแลกเปลี่ยนเงินตราที่สงกลับมาจากเว็บเซิรฟเวอร โดยแสดงอัตรา แลกเปลีย่ นสกุลเงินบาทไทย (THB) 1 บาท กบั เงินตราสกลุ อนื่ ๆ พรอ มท้งั แสดงขอ มูล ดงั น้ี  base คือ สกลุ เงนิ ทสี่ งคำขอไปยังเว็บเซิรฟ เวอร  date คือ วนั ทเี่ ขาใชบ ริการเว็บเซิรฟ เวอร  time_last_updated คือ ครง้ั ทป่ี รับปรงุ ขอมลู  rate คือ อตั ราแลกเปลีย่ นสกุลเงนิ 1 หนวย ตอ สกลุ เงินอ่นื ๆ ขอมูลท่ีเว็บเซิรฟเวอรสงกลับมาใหนั้นจะอยูในรูปแบบของ JSON (JavaScript Object Notation) ซึ่งเปนวิธีการที่ทำให JavaScript แลกเปลี่ยนขอมูลกับเว็บเซิรฟเวอร ไดอยางสะดวก JSON ถูกสรางขึ้นจากชุดขอมูลของ literal object notation ใน JavaScript ซึ่ง JSON จะใช [ ] แทนอาเรยและใช { } แทนแฮช ( hash หรือ associate array ) แตละสมาชิกคั่นดวย comma (,) และแตล ะ ชื่อสมาชกิ คั่นดวย colon (:) รปู แบบของ JSON ทีเ่ วบ็ เซิรฟเวอรส ง มาใหนัน้ อา นไดย าก สำหรับแอพพลิเคช่ัน Chrome จะ มีสว นขยาย (extension) ที่ทำใหส ามารถอา นรูปแบบของ JSON ไดง ายขึน้ โดยการติดต้งั สว นขยายชอ่ื JSON Formatter ตามรูปที่ 14.4 สามารถตดิ ตง้ั ไดจาก  https://chrome.google.com/webstore/detail/json- formatter/bcjindcccaagfpapjjmafapmmgkkhgoa รปู ท่ี 14.4 สวนขยาย JSON Formatter _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

194 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) เมื่อติดตั้งเสร็จเรียบรอยแลวใหทำการรีเฟรชหนาเว็บไซตใหม จะแสดงรูปแบบ JSON ท่ี สามารถอานไดง า ยขึน้ ดงั รปู ที่ 14.5 รปู ที่ 14.5 ผลการใช JSON Formatter 14.3 การเพ่ิมไลบรารี่ Java เพือ่ ใชงาน Java เปนการเขียนโปรแกรมที่มีลักษณะเปนคลาสและออบเจ็ค ในหัวขอที่ผานมาเว็บ เซริ ฟเวอรสงขอมูลกลบั มาใหอ ยูในรูปแบบ JSON การจะใชง าน JSON ในภาษา Java น้นั จะตองเอา ขอ มูลที่ไดมาใสใ นออบเจ็คตามรูปแบบของภาษา Java ซง่ึ ในตวั อยางนจี้ ะเปน การใชไลบรารี่อืน่ ทไี่ มได อยูใน JDK ของ Java คือ org-json-java.jar เปน jar ไฟลท ่ผี ูเ ขียนโปรแกรมสามารถดาวนโหลดและ ตดิ ต้งั เพ่มิ เตมิ ได ดงั ตอ ไปน้ี  https://code.google.com/archive/p/org-json-java/downloads _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 195 รปู ท่ี 14.6 ไลบราร่ี org-json-java แหลงท่มี า: https://code.google.com/archive/p/org-json-java/downloads เมอ่ื ดาวนโ หลดเสรจ็ เรียบรอ ยแลว ขั้นตอนตอไปจะเปนการสรางโปรเจคใหมส ำหรบั การเขยี น โปแกรมอตั ราแลกเปลี่ยนเงินตราตางประเทศและเพิม่ ไลบราร่ี org-json-java สำหรับใชใ นการเขียน โปรแกรม ดงั รปู ที่ 14.7 – 14.14 รปู ที่ 14.7 สรางโปรเจคชอ่ื CaseStudy_CurrencyExchange _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูรวิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

196 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รูปท่ี 14.8 โครงสรา งโปรเจค CaseStudy_CurrencyExchange การเพม่ิ ไลบราร่ีโดยคลกิ ทเ่ี มนู File จากน้ันเลอื ก Project Structure รูปที่ 14.9 การเพิ่มไลบรารใ่ี นโปรแกรม IntelliJ IDEA (1) _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 197 รูปที่ 14.10 การเพิ่มไลบรารใี่ นโปรแกรม IntelliJ IDEA (2) เลอื กเมนู Libraries คลกิ เคร่ืองหมาย (+) จากน้นั เลอื ก Java รปู ที่ 14.11 การเพิ่มไลบรารใี่ นโปรแกรม IntelliJ IDEA (3) เลอื กไลบราร่ี org.json-20120521.jar ที่ดาวนโ หลดไวจ ากขนั้ ตอนที่ผานมา และคลิกปุม OK _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

198 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รูปท่ี 14.12 การเพม่ิ ไลบรารใ่ี นโปรแกรม IntelliJ IDEA (4) เลือกโมดูลทต่ี อ งการเพ่มิ ไลบราร่ีในที่นี้ คอื โปรเจค CaseStudy_CurrenctExChange รูปท่ี 14.13 การเพิ่มไลบรารใ่ี นโปรแกรม IntelliJ IDEA (5) คลิกปมุ OK เพ่อื ยืนยนั การเพมิ่ ไลบรารี่ในโปรเจค _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 199 รูปที่ 14.14 การเพ่มิ ไลบรารใี่ นโปรแกรม IntelliJ IDEA (6) จากรูป 14.14 จะแสดงใหเห็นวาไลบรารี่ org-json-java ถูกเพิ่มเขามายังโปรเจค CaseStudy_CurrencyExchange เรียบรอยแลว ในหัวขอตอไปจะเปนตัวอยางโปรแกรมที่เรียกใช API จากเวบ็ เซิรฟเวอรเ พื่อแสดงอตั ราแลกเปลีย่ นเงินตราตา งประเทศ 14.4 โปรแกรมแลกเปลย่ี นสกุลเงนิ ตางประเทศ โปรแกรมแลกเปลี่ยนสกุลเงินตางประเทศ จะประกอบไปดวย 2 คลาส คือ ExchangeAPI และ CurrencyExchange ตามคลาสไดอะแกรมตอไปน้ี รปู ที่ 14.15 คลาสไดอะแกรมโปแกรมแลกเปลยี่ นสกลุ เงินตางประเทศ _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู ิวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

200 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) คลาส ExchangeAPI ใชสำหรับติดตอกบั เซิรฟ เวอร แลวนำขอมูลท่ไี ดจ ากเซริ ฟเวอรมาเก็บไว ในออบเจ็คของคลาส สวน CurrenyExchange เปนคลาสที่ทำหนาที่ติดตอสื่อสารกับผูใช โดยมี System Flowchart ดังรปู ที่ 14.14 รูปที่ 14.16 System Flowchart โปแกรมแลกเปลีย่ นสกุลเงินตางประเทศ โปรแกรมจะรับสกุลเงินปจจุบันจากผูใช เชน THB หากไมพบสกุลเงินที่ผูใชกรอกขอมูล โปรแกรมจะแจงขอผดิ พลาดใหผ ใู ชท ราบ จากนัน้ จะรับจำนวนเงนิ ทต่ี องการแลกเปลีย่ น และรับสกุล เงินใหมเชน USD หากโปรแกรมตรวจสอบแลว วามีสกุลเงินที่ผใู ชต อ งการจะทำการคำนวณอัตราสกุล เงนิ ใหมและแสดงทางจอภาพใหผใู ชท ราบ ดงั รูปที่ 14.17 _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 201 _________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

202 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รูปที่ 14.17 คลาส ExchangeAPI จากตวั อยางโปรแกรมในคลาส ExchangeAPI ทำการประกาศ attribute ของคลาสคอื base date lastUpdate และ eachRate ใชสำหรับเก็บขอมูลของออบเจ็คที่ถูกสรางขึ้นมาจากคลาส ExchangeAPI ในคลาสน้ีมกี ารเรียกใชไ ลบรารมี่ ากมายท่จี ำเปน ตองใชสำหรบั การตดิ ตอกบั เซริ ฟ เวอร เชน URL HttpUrlConnection และ MalformedURLException จากนั้นหากสามารถเชื่อมตอ เซิรฟเวอรไดจะทำการอานขอมูลที่เซิรฟ เวอรสงกลับมาใหโดยการใชคลาส BufferReader และนำ ขอมูลนนั้ มากำหนดใหกับ attribute ของคลาสโดยการใชงาน JSONObject คลาสตามท่ไี ดเพมิ่ ไลบรา ร่ีไวใ นข้ันตอนทผี่ า นมา _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 203 เมธอด getConnection(); ใชสำหรับเชื่อมตอกับเซิรฟเวอร เมธอด getBase(); สำหรับ เรียกดูขอมูลสกุลเงินหลกั ที่สงคำรองขอไปยังเซิรฟเวอร เมธอด getDate(); สำหรับเรียกดูวันที่ของ อัตราแลกเปลี่ยนกุลเงิน เมธอด getLastUpdate(); สำหรับเรียกดูครั้งที่ปรับปรุงขอมูล และเมธอด getEachRate(); ใชสำหรบั เรียกดูอตั ราแลกเปล่ียนสกุลเงินตามที่ผูใ ชงานเปน ผูกำหนด ดงั รูปท่ี 14.18 รูปท่ี 14.18 คลาส CurrencyExchange สำหรับคลาส CurrencyExchange เปนคลาสที่ติดตอกับผูใช มีการประกาศออบเจ็คของ คลาส ExchangeAPI และคลาส Scanner โดยรับคาสกุลเงินเก็บไวในตัวแปร currentCurrency จากน้นั เรียกใชเมธอด getConnection(); หาก expression เปน false จะแสดงขอความเพ่ือแจงให ผูใชทราบวาเซิรฟเวอรไมรองรบั สกุลเงินที่ระบุ ถา expression เปน true จะทำงานตอโดยการรบั จำนวนเงินที่ผูใชตองการแลกเปลี่ยนไวในตัวแปร amount และรับสกุลเงินใหมไวในตัวแปร _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู วิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

204 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) newCurrency จากนัน้ หากโปรแกรมสามารถรบั ขอมลู จากเซิฟรเ วอรไ ด จะทำการคำนวณแปลงสกุล เงินดวยอัตราแลกเปลีย่ นโดยเรียกใชเมธอด getEachRate(); เมื่อทำการรันโปรแกรมโดยผูใชกรอก ขอมลู สกุลเงนิ ปจ จบุ ันเปน THB จำวนวเงนิ 10,000 บาท สกุลเงินใหมเปน USD จะไดผลลพั ธ ดงั รูปท่ี 14.17 รปู ที่ 14.19 ผลลัพธการรนั โปรแกรมแลกเปลี่ยนสกุลเงินตา งประเทศ จากตัวอยางเปน การใชงาน API เบื้องตนดวยภาษา Java โดยมีการใชค ำสั่งหลากหลาย เชน if-else try-catch การสรางคลาสและออบเจ็ค เปน ตน ซงึ่ จะสามารถเปน พ้ืนฐานใหผ เู ขยี นโปรแกรม สามารถศึกษาและเรยี นรพู ฒั นาตอยอดในการเขยี นโปรแกรมในภาษาอ่นื ๆ ได ภาษาคอมพวิ เตอรน้ัน มกี ารพัฒนาอยูตลอดเวลา มเี ครือ่ งมือใหม และเกิดภาษาใหม ๆ ขึน้ ตามเทคโนโลยที เ่ี ปลยี่ นไป ดังนั้น ผเู ขียนโปรแกรมจะตอ งพฒั นาตนเองอยตู ลอดเวลาเพือ่ ใหท นั กับเทคโนโลยีทเี่ ปลยี่ นแปลงอยางรวดเรว็ รูจักประยุกตใชเครื่องมือ คำสั่งตาง ๆ ในการเขียนโปรแกรมเพื่อใหโปรแกรมที่พัฒนานั้นมี ประสทิ ธิภาพและใชงานไดต ามความตองการของผใู ชงาน _________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 205 แบบฝกหัดบทที่ 14 จากตัวอยางโปรแกรมขางตนนั้นยังไมสมบูรณ เนื่องจากในกรณีที่ผูใชกรอกสกุลเงินที่ เซิรฟเวอรไมรองรับโปรแกรมจะหยุดทำงาน และโปรแกรมจะทำงานไดเพียงหนึ่งครั้งเทานั้น หาก ตองการใชง านอีกจะตอ งรนั โปรแกรมใหมเ สมอ จากเหตผุ ลดงั กลาว จึงแกไ ขโปรแกรมแลกเปลยี่ นสกลุ เงนิ ตางประเทศใหมีความสมบรู ณย ่ิงขึ้น ดงั น้ี 1. ในกรณที ี่ผูใ ชก รอกสกุลเงนิ ที่เซิรฟเวอรไมรองรบั โปรแกรมจะตองแจงใหผูใชท ราบเพือ่ กรอกขอมลู ใหม 2. ปรบั ปรงุ โปรแกรมใหเ ปน ลักษณะเลอื กฟง กชัน โดยใหผ ใู ชเ ลอื กฟงกชันทจ่ี ะใชงานโปรแกรม เชน #### Exchange Currency System #### 1. Exchange. 2. See all currency rate. 3. Exit _________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูรวิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

206 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) วิธกี ารสอนและกจิ กรรม 1. สอนแบบบรรยายโดยใชส่ือประกอบการสอน 2. ใหน ักศกึ ษามสี ว นรว มในกจิ กรรมระหวางการเรยี นการสอนโดยใชว ธิ กี ารถาม-ตอบ 3. ปฏบิ ัตกิ ารเขียนโปรแกรมเพ่ือปรบั ปรุงตวั อยางโปรแกรมกรณศี กึ ษา เอกสารประกอบ เอกสารประกอบการสอน บทที่ 14 กรณศี กึ ษา Currency Exchange System ส่อื การสอน สอื่ ประกอบการสอน ไฟลนำเสนอ power point บทที่ 14 ตวั อยางโปรแกรม กรณศี ึกษา โสตทศั นวสั ดุ เครอื่ งฉายโปรเจคเตอร งานที่มอบหมาย 1. ศึกษาตวั อยางโปรแกรมกรณีศึกษา การใช API และ JSON 2. แบบฝก หดั แกไ ขปรับปรงุ ตัวอยางโปรแกรมกรณศี ึกษา การวดั ผล 1. สงั เกตพฤตกิ รรมการเรียนในหอ งเรยี น 2. สังเกตพฤติกรรมการมสี ว นรว มในกจิ กรรมระหวางการเรยี นการสอนในการถาม-ตอบ 3. ตรวจงานทมี่ อบหมาย 4. ทดสอบตามจุดประสงคก ารสอน บนั ทึกการสอนและขอ สงั เกต …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… _________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 207 บรรณานุกรม ธรี วฒั น ประกอบผล. (2017). เขยี นโปรแกรมเชิงวัตถุภาษา Java ฉบับสมบรู ณ. กรุงเทพฯ: ซิมพลฟิ าย, สนพ. บัญชา ปะสีละเตสงั . (2018). การเขียนโปรแกรมดวย Java สำหรบั ผเู ร่ิมตน. กรงุ เทพฯ: ซีเอ็ดยเู คชัน่ , บมจ. บุรนิ ทร, ร., & ขวญั ชนก, ร. (2560, October 5). ผังงาน (Flowchart Diagram). Retrieved May 9, 2561, from ThaiAll.com: http://www.thaiall.com/flowchart/indexo.html สุดา เธยี รมนตรี. (2557). คมู อื เรียนเขียนโปรแกรมภาษา Java ฉบับสมบรู ณ (2nd Edition) +CD. กรุงเทพฯ: Infopress Group. อรพิน ประวตั บิ รสิ ุทธ.์ิ (2561). คูมือเขียนโปรแกรมดว ยภาษา JAVA ฉบับสมบูรณ. กรุงเทพฯ: Provision. Box Single. (2556, กนั ยายน 12). ทำความรูจ กั กบั JSON คอื อะไร. Retrieved Faburay 20, 2562, from Box Single: http://www.boxsingle.com/?page=Blog.ShowBlogDetail&blogID=13 Mindphp. (2560, มีนาคม 14). Java คืออะไร จาวา คือภาษาคอมพิวเตอร สำหรบั เขียนโปรแกรมเชิงวัตถุ. Retrieved พฤษภาคม 10, 2561, from mindphp.com: https://www.mindphp.com/คูมือ/73-คอื อะไร/2185-java-คืออะไร.html Techtalkthai. (2561, สิงหาคม 8). IEEE เผย 10 ภาษา Programming ยอดนยิ มประจำป 2018. Retrieved พฤษภาคม 5, 2561, from techtalkthai: https://www.techtalkthai.com/ieee-reveals-top-10- popular-programming-languages-2018/ ExchangeRate-API. (2018, June 9). How To Use Our Java Exchange Rates API. Retrieved from Exchange Rate API ExchangeRate-API: https://www.exchangerate-api.com/docs/java- currency-api FreeCodeCamp. (2018, January 16). Here are the best programming languages to learn in 2018. (FreeCodeCamp, Editor) Retrieved May 2018, 5, from FreeCodeCamp: https://www.freecodecamp.org/news/best-programming-languages-to-learn-in-2018- ultimate-guide-bfc93e615b35/ Javatpoint. (n.d.). Java Tutorial. Retrieved April 10, 2018, from Javatpoint.com: https://www.javatpoint.com/java-tutorial Learnjavaonline. (n.d.). Learn java online. Retrieved April 22, 2018, from LearnJava: https://www.learnjavaonline.org/ Oracle. (n.d.). Java™ Platform, Standard Edition 8. Retrieved May 8, 2018, from Java™ Platform, Standard Edition 8: https://docs.oracle.com/javase/8/docs/api/index.html _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

208 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) บรรณานุกรม Oracle. (n.d.). The Java™ Tutorials. Retrieved April 10, 2018, from Oracle Java Documentation: https://docs.oracle.com/javase/tutorial/java/ Peter, A. (n.d.). Java 101 - File I/O. Retrieved May 12, 2018, from Amondora: https://arnondora.in.th/java-101-file-io Rishabh, P. (n.d.). Java Programming Basics. Retrieved May 2018, 9, from GeeksforGeeks: https://www.geeksforgeeks.org/java-programming-basics/ Thaicreate. (2017, March 27). Java and JSON (Create/Parser). Retrieved มิถุนายน 9, 2018, from thaicreate: https://www.thaicreate.com/java/java-json-create.html Tutorialspoint. (n.d.). Java Tutorials. Retrieved April 24, 2018, from tutorialspoint.com: https://www.tutorialspoint.com/java/ W3Schools. (n.d.). Java Tutorial. Retrieved April 23, 2018, from W3Schools.com: https://www.w3schools.com/java/default.asp _________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook