这段代码为什么报错?

public void displayNumberOfOrders(Product product) {

Iterator orderIterator=sales.iterator();
int orderNumber =0;
while(orderIterator.hasNext()){
for(OrderItem orderItem:orderIterator.next()){
if(orderItem.getProduct()==product){
orderNumber++;
}
}
}
stdErr.println("Number of orders that contains the product"+product.getCode()+":"+orderNumber);
}
orderIterator.next()报错Can only iterate over an array or an instance of java.lang.Iterable
怎么修改?

这段代码报错的原因是:使用BigDecimal求取精确小数的时候一定要注意构造方法中要用字符串来构造,Non-terminating decimal expansion; no exact representable decimal result翻译过来就是没有终止的小数扩展;没有精确的可表达的小数结果,如果构造的时候采用字符串就不会出现精度问题了。

代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。

温馨提示:答案为网友推荐,仅供参考
相似回答