โปรแกรมเครื่องแลกเหรียญทำงานโดยการกรอกจำนวนเงินที่ต้องการ โปรแกรมจะคำนวณจำนวนเหรียญแบบต่างๆ จากเงินที่กรอก ให้ได้จำนวนเหรียญออกมาให้น้อยที่สุด โปรแกรมสามารถแลกเหรียญ 10, 5, 2, 1 บาท เท่านั้น
โจทย์
การเขียนโปรแกรมเครื่องแลกเหรียญ 10, 5, 2,1 บาท
วิเคราะห์
โจทย์ข้อนี้สิ่งที่เราต้องรู้คือการรับข้อมูลตัวเลขจากคีบอร์ด และ นำตัวเลขมาคิดเพื่อหาจำนวนเหรียญแต่ละแบบ วิธีคิดใช้การหาร และ การหารเอาเศษ เพื่อหาจำนวนเหรียญและจำนวนเงินที่เหลือตามลำดับ ลองแปลงเป็นโค้ดดูกันครับ
Source Code
import java.util.Scanner;
public class CoinExchange {
public static void main(String[] args) {
int coin_10, coin_5, coin_2, coin_1; // ประกาศตัวแปรเพื่อเก็บจำนวนเหรียญแต่ละแบบ
int money, remain; // ประกาศตัวแปรเพื่อเก็บจำนวนเงิน และ ค่าคงเหลือ
// กำหนดตัวแปรที่มีค่าเป็น 0
remain = money = coin_10 = coin_5 = coin_2 = coin_1 = 0;
Scanner scan = new Scanner(System.in); // ประกาศตัวแปรเพื่อใช้รับค่าจากคีบอร์ด
System.out.println("Please enter your money.");
money = scan.nextInt(); // รับจำนวนเงิน
coin_10 = money / 10; // คำนวณจำนวนเหรียญ 10 บาท
remain = money % 10; // จำนวนเงินที่เหลือจากการแลกเหรียญ 10 บาท
coin_5 = remain / 5; // คำนวณจำนวนเหรียญ 5 บาท
remain = remain % 5; // จำนวนเงินที่เหลือจากการแลกเหรียญ 5 บาท
coin_2 = remain / 2; // คำนวณจำนวนเหรียญ 2 บาท
remain = remain % 2; // จำนวนเงินที่เหลือจากการแลกเหรียญ 2 บาท
coin_1 = remain; // จำนวนเงินที่เหลือจะเป็นเหรียญ 1
// แสดงจำนวนเหรียญแต่ละแบบ
System.out.println("10 = " + coin_10 + " coins.");
System.out.println("5 = " + coin_5 + " coins.");
System.out.println("2 = " + coin_2 + " coins.");
System.out.println("1 = " + coin_1 + " coins.");
}
}
Output
Please enter your money.
1111
10 = 111 coins.
5 = 0 coins.
2 = 0 coins.
1 = 1 coins.
เนื้อหาบทความที่เกี่ยวข้องกับโจทย์
Java - สอน Java สำหรับผู้เริ่มต้น ตอนที่ 3 โครงสร้าง Java
Java - สอน Java สำหรับผู้เริ่มต้น ตอนที่ 4 Variable และ Memory Concept
Java - สอน Java สำหรับผู้เริ่มต้น ตอนที่ 5.1 Arithmetic การดำเนินการทางคณิตศาสตร์