逛FaceBook的時候,看到別班老師發的文
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class cc1 { public static void main(String[] args) throws IOException { int A_$ = 100;// 宣告價錢 int B_$ = 60; int C_$ = 40; int A_shu = 0;// 數量 int B_shu = 0; int C_shu = 0; int jie_suan = 0;// 需要付的金額 A_shu = shu_ru("輸入A的數量:"); B_shu = shu_ru("輸入B的數量:"); C_shu = shu_ru("輸入C的數量:"); while (A_shu > 0 && B_shu > 0 && C_shu > 0) {// A+B+C=打85折 jie_suan += (int) ((A_$ + B_$ + C_$) * 0.85); A_shu -= 1; B_shu -= 1; C_shu -= 1; } while (A_shu > 0 && B_shu > 0) {// A+B=打9折 jie_suan += (int) ((A_$ + B_$) * 0.9); A_shu -= 1; B_shu -= 1; } while (A_shu > 0 && C_shu > 0) {// A+C=打95折 jie_suan += (int) ((A_$ + C_$) * 0.95); A_shu -= 1; C_shu -= 1; } while (A_shu > 0) {// A原價 jie_suan += A_$; A_shu -= 1; } while (B_shu > 0) {// B原價 jie_suan += B_$; B_shu -= 1; } while (C_shu > 0) {// C原價 jie_suan += C_$; C_shu -= 1; } System.out.println("\n合計:" + jie_suan + " 元"); if (jie_suan >= 5000) {// 大於5000,再打95折 jie_suan = (int) (jie_suan * 0.95); System.out.println("超過5000打95折= " + jie_suan); } System.out.println("\n//-------------------------"); int fu = 0; fu = shu_ru("輸入付款的金額:"); while (fu < jie_suan) {// 判斷是否能付賬 fu = shu_ru("金額不足,請再次輸入付款的金額:"); } System.out.println("\n找回" + (fu - jie_suan) + "元"); jie_suan = fu - jie_suan; jie_suan = zhao_qian(jie_suan, 1000); jie_suan = zhao_qian(jie_suan, 500); jie_suan = zhao_qian(jie_suan, 100); jie_suan = zhao_qian(jie_suan, 50); jie_suan = zhao_qian(jie_suan, 10); jie_suan = zhao_qian(jie_suan, 1); } public static int shu_ru(String s) { BufferedReader su = new BufferedReader(new InputStreamReader(System.in)); boolean b = true; int hui_chuan = 0;//回傳值(讀取進來的文字) System.out.print("\n"+s);//印出字串 while (b) { try { hui_chuan = Integer.valueOf(su.readLine()); b = false; } catch (Exception e) { System.out.print("(您輸入的不是數字)請再次\n" + s); b = true; } } return hui_chuan; } // 印出需要找多少錢的方法 public static int zhao_qian(int jie_suan, int $$) { // (錢 , 找錢的面額),回傳剩餘的錢 int shu = 0;// 數量 while (jie_suan >= $$) { jie_suan -= $$; shu += 1; } if (shu > 0) {// 如果數量==0,就印出來 System.out.println($$ + "元: \t" + shu + (($$ >= 100) ? "張" : "個")); } return jie_suan; } } |