我正在寻找一种方法来传递一个值并从中获取 3 个值。这意味着如果我传入值 0,则打印输出将为 0 1 2。因此,这是传入的实际值加上接下来的 2 个连续数字。
但这不仅仅是关于连续数字。例如,如果我传入 1,我并不期待 1 2 3。相反,它应该如下所示。
0
传入 so print0 1 2
。现在传入
1
。0 1 2
已经完成了上述调用。因此传入1
将打印3 4 5
.现在传入
2
。0 1 2 3 4 5
已经完成了上述调用。因此传递2
将输出6 7 8
等等。
以下代码按预期工作,但以这种方式写出来有点愚蠢,而且传入的值是由外部因素决定的,我事先不会知道。
但是如果传入的值是示例 3,算法应该计算出
已通过 3 的 3 倍数(索引 0 - 8)。
因此,传入 3 将意味着打印 9、10、11。
以下代码执行上述说明。但不可扩展因此寻找某种循环算法。
class App {
public static void main(String[] args) {
App app = new App();
app.printIndex(0); // idea is to print the index being passed in and the next 2 numbers, so 0 1 2
app.printIndex(1); // 3 4 5
app.printIndex(2); // 6 7 8
app.printIndex(3); // 9 10 11
}
int getIndex(int i) {
if(i == 0) return i;
if(i == 1) return 3;
if(i == 2) return 6;
if(i == 3) return 9;
return 0;
}
void printIndex(int i) {
System.out.println(getIndex(i));
System.out.println(getIndex(i) + 1);
System.out.println(getIndex(i) + 2);
}
}