当我尝试打印 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());
最佳答案
不能在for循环外访问对象rec,因为对象的作用域只在for循环内有效。正如您在 for 循环中创建该对象一样。
您可以将此与另一个问题联系起来。为什么不能在另一个函数中访问一个函数内部定义的局部变量?
引用以下代码:
BmiRecord rec[]=new BmiRecord[limit];
for(int i=0; i<limit; i++)
{
int height = scanner.nextInt();
int weight = scanner.nextInt();
String name = scanner.nextLine();
rec[i] = new BmiRecord(name, height, weight);
}
for(BmiRecord re:rec){
System.out.println(re.report);
}
关于java - 在 for 循环中访问对象/变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29416989/