我有一个名为Vowels的类,它包含5个代表每个元音的变量。用户输入一个句子,一些伏都教魔法发生,一个方法计算元音打印它们:
[a = 9, e = 5, i = 7, o = 5, u = 6]
之后,请求用户输入一个随机整数,另一个方法执行所有4个基本数学运算,如下所示:
input
3
output
a --> 9 * 3 = 27
a --> 9 / 3 = 3
a --> 9 + 3 = 12
a --> 9 - 3 = 6
到目前为止,我已经设法用20个printlns(每个元音的每个操作1个)来实现这一点,但是这可以用循环优化吗? 我找到了一些关于反思的信息,但我并不理解它。
答案 0 :(得分:4)
通过调用getProperties
可以获得对象的成员。每个对象都有一个名为class的属性,你可以忽略它,并且没有定义顺序,所以' e'可能会出现在' a'之前的属性中。例如:
class Vowels {
int a, e, i, o, u
}
def v = new Vowels(a: 9, e: 5, i: 7, o: 5, u: 6)
v.properties.each { name, value ->
if (name != 'class') {
println "$name --> $value * 3 == ${value * 3}"
...
}
}