当我尝试打印出rec.report()时,有没有办法在for循环后访问对象“rec”?在for循环中访问对象/变量
(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'的。 https://www.google.com/search?q=java+scope&ie=utf-8&oe=utf-8#safe=off&q=java+variable+scope解决方法是在外部定义对象'BmiRecord rec = null' 'for'循环,然后只在循环内分配它。然后,可以在循环终止后使用它 – Kon 2015-04-02 15:40:43
Rec在循环内部定义。所以外面就不存在了。 – shibley 2015-04-02 15:41:22
每件事物都有一个范围,除此之外不可见。在这种情况下,for循环有一个由花括号分隔的作用域 – Andrea 2015-04-02 15:41:41