} catch (Exception e) { System.out.println(\输入无效\\n黑盒测试结束\
}
}
}
3.2 找零钱最佳组合
一、分析输入的情形。
R P
15
R>100 P>100 0 二、分析输出情形。    N50 N10 N5 N1 N50=1 4>=N10N50=0 >=1 N10=0   N5=1 4>=N1>N5=0 =1 N1=0 三、分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找50,10,5元货币数时之剩余金额。   R>100  R<=0  P>100  P 四、由上述之输入/输出条件组合出可能的情形。(RR=P-R)  R>100 R<=0   0   16  0 五、为满足以上之各种情形,测试资料设计如下:1.货品价格=101  2.货品价格=0  3.货品价格=-1   4.货品价格=100,付款金额=101 5.货品价格=100,付款金额=99 6.货品价格=50,付款金额=100 7.货品价格=51,付款金额=100 8.货品价格=90,付款金额=100 9.货品价格=91,付款金额=100 10.货品价格=95,付款金额=100 11.货品价格=96,付款金额=100 12.货品价格=99,付款金额=100    17    13.货品价格=100,付款金额=100 测试源代码  package com.xu.ceshi;   import java.util.Scanner;   public class Price {  public static void main(String[] args) {   System.out.println(\请输入您购买的东西价格:\  Scanner scanner=new Scanner(System.in);   int value=scanner.nextInt();   if(value>100||value<0){    System.out.println(\无效货品价格\    System.out.println(\请输入您购买的东西价格:\   value=scanner.nextInt();    }    System.out.println(\请输入您支付的金额:\  int value2=scanner.nextInt();       if(value>value2||value2>100){     System.out.println(\无效付款\  }else if(value==value2){     System.out.println(\不找零\   }else{          int value3=value2-value;    if(value3>100||value3<0){    System.out.println(\输入的价钱不在本店范围内\   value=scanner.nextInt();     }      Price price=new Price();    18        }  price.process(value3); }  public void process(int money){   System.out.println(\将\元找零需要\  int[] value={100,50,10,5,1};   int[] count=new int[value.length];   for(int i=0;i    }     if(count[i] !=0){     System.out.print(\应找回\张\元 \   }    }   }   }       19