【发布时间】:2015-06-07 15:30:52
【问题描述】:
当我尝试打印rec.report() 时,有没有办法在for 循环之后访问对象“rec”?
(Report() 是 BmiRecord 类内部的一个方法,它返回新的计算结果)。
for(int i=0; i<limit; i++)
{
int height = scanner.nextInt();
int weight = scanner.nextInt();
String name = scanner.nextLine();
BmiRecord rec = new BmiRecord(name, height, weight);
}
System.out.println(rec.report());
【问题讨论】:
-
因为
scope。 google.com/… 解决方法是在外部为for循环定义对象BmiRecord rec = null,然后只在循环内部分配它。然后循环终止后就可以使用了 -
Rec 在循环内定义。所以它在外面已经不存在了。
-
每个事物都有一个范围,在此范围之外是不可见的。在这种情况下,for 循环的范围由大括号分隔
-
要么做@Kon 写的,要么创建一个像'List
records = new ArrayList();' 这样的集合然后将记录添加到其中:'records.add(rec);'。稍后您可以遍历该列表(可以在 Google 或 Stackoverflow 上找到示例)以打印每个条目。
标签: java loops variables object for-loop