问题:
付款找零问题
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
一.程序设计采用结构化和面向对象的程序设计思想
package test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int R, P, N;
Scanner input = new Scanner(System.in);
System.out.println("Please input Price & Pay:");
String a = input.next();
String b = input.next();
// 判断输入是否数字
if (a.matches("\\d+") && b.matches("\\d+")) {
R = Integer.parseInt(a);
P = Integer.parseInt(b);
//判断是否在输入范围
if(R>0&&R<=100&&P>0&&P<=100){
int Num50,Num10,Num5,Num1;
N=P-R;
if(N>=0){
Num50=N/50;
N=N-50*Num50;
Num10=N/10;
N=N-10*Num10;
Num5=N/5;
N=N-5*Num5;
Num1=N;
if(Num50==0 && Num10==0 && Num5==0 && Num1==0){
System.out.println("No Change");
}else{
System.out.println("Change¥50:sheets "+Num50);
System.out.println("Change¥10:sheets "+Num10);
System.out.println("Change¥05:sheets "+Num5);
System.out.println("Change¥01:sheets "+Num1);
}
}else{
System.out.println("Pay isn't enough!");
}
}else{
System.out.println("Beyond 1-100");
}
} else {
System.out.println("Confirm integer!");
}
}
}
1.驱动模块与桩模块的开发
(1)读入一批测试用例,对每个测试用例能够读入基本信息并显示出来
(2)利用测试用例来驱动(调用)被测试函数
(3)显示测试用例的实际输出并能与预期输出进行比较,给出判定结果
/*****************************************************************************************//
求大神给写个 驱动程序开发代码。Thank
|