【发布时间】:2020-12-30 17:12:44
【问题描述】:
我有一个员工班级,我希望所有员工的年龄都通过一种方法增加一而无需循环。这可能吗?
class Employee{
Employee(int age)
{
this.age = age;
}
String name;
int age;
static void NextYear()
{
//age++;
// will increase all ages by 1
}
void increaseAge() // I don't want this method
{
age++;
}
}
public class Main
{
public static void main(String[] args) {
Employee e1 = new Employee(23);
Employee e2 = new Employee(34);
Employee.NextYear(); // want increase all ages by one
System.out.println("e1 age " + e1.age); // need 24
System.out.println("e2 age " + e2.age); // need 35
}
}
【问题讨论】:
-
不,这是不可能的。某处的某些代码需要循环来实现这一点。
-
有没有一种看起来不像循环的方法?
-
更好地存储出生年份/日期(永远不会改变)并在 getAge() 中动态计算年龄
-
为什么禁止循环?对于尚未教授循环的课程来说,这是一道作业题吗?