【说明】清点盒子。本程序当用户输入一个整数值时,一切正常;当输入其他数值时,程序就出错。现在已做了改进,请填空。
import java. text. NumberFormat;
Public class InventoryLoop public static void main(String args[])
String numBoxesIn;
Int numBoxes;
Double boxPrice=3.25;
Boolean gotGoodInput=false;
NumberFormat currency=NumberFormat. (1) ;
do
System.out. print(“How many boxes do we have”);
numBoxesIn=DummiesIO. (2) ;
try
numBoxes=Integer.parseInt( (3) );
system. out. print("The value is");
system.out. println(currency, format (numBoxes*boxPrice));
gotGoodInput=true;
catch( (4) )
System.out.println();
System.out. println(That’s not a number.");
while( (5) );//输入不正确时
System. out.println("That’s that.");
参考答案:
(1)getCurrencyInstance()或getCurrencyInstance(currentLocale)
货币currency对象指向格式化数据NumberFormat类的货币数字格式getCurrencyInstance()。
(2)getString()
读入货币数字的字符串到NumBoxesIn中。
(3)numBoxesIn
分析字符串NumBoxesIn的合法性,并转换成整数。
(4)NegativeNumberException e
捕捉数据格式错误的信息NegativeNumberException e。
(5)!gotGoodInput
输入不正确时,继续循环输入。