问答题
【说明】清点盒子。本程序当用户输入一个整数值时,一切正常;当输入其他数值时,程序就出错。现在已做了改进,请填空。
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.{{U}} (1) {{/U}};
do
{
System.out. print(“How many boxes do we have?”);
numBoxesIn=DummiesIO.{{U}} (2) {{/U}};
try
{
numBoxes=Integer.parseInt({{U}} (3) {{/U}});
system. out. print("The value is");
system.out. println(currency, format (numBoxes*boxPrice));
gotGoodInput=true;
catch({{U}} (4) {{/U}})
{
System.out.println();
System.out. println(That's not a number.");
}
}while({{U}} (5) {{/U}});//输入不正确时
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
输入不正确时,继续循环输入。