Java 根据传入的值获取连续值
我正在寻找一种方法来传递一个值并从中获得3个值。这意味着如果我传入值0,打印输出将为0 1 2。因此,这是传入的实际值加上接下来的2个连续数字 但这不仅仅是关于连续的数字。例如,如果我通过了1,我就不会期望1 2 3。相反,它应该如下所示Java 根据传入的值获取连续值,java,algorithm,Java,Algorithm,我正在寻找一种方法来传递一个值并从中获得3个值。这意味着如果我传入值0,打印输出将为0 1 2。因此,这是传入的实际值加上接下来的2个连续数字 但这不仅仅是关于连续的数字。例如,如果我通过了1,我就不会期望1 2 3。相反,它应该如下所示 0传入,因此打印0 1 2 现在传入10 1 2已完成上述调用。 因此,传入1将打印3 4 5 现在传入20 1 2 3 4 5已完成上述调用。 因此,通过2将输出678,依此类推 下面的代码按预期工作,但以这种方式编写有点愚蠢,加上传入的值是由外部
传入,因此打印0
0 1 2
- 现在传入
<代码>0 1 2已完成上述调用。 因此,传入1
将打印1
3 4 5
- 现在传入
<代码>0 1 2 3 4 5已完成上述调用。 因此,通过2
将输出2
,依此类推678
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);
}
}
getIndex方法只需返回i*3即可获得每3个数字。如果你只是更换这个,你的程序应该可以工作。如果将printIndex()
方法编辑为
void printIndex(int i) {
System.out.println(i*3+"");
System.out.println(i*3 + 1);
System.out.println(i*3 + 2);
}
你能不能
返回i*3
试试System.out.println(i*3+“,”+(i*3+1)+“,”+(i*3+2))
现在感觉很傻。有道理。需要值0的异常,否则,这应该可以工作。谢谢。当然可以,你说值0的异常是什么意思?当然,不需要异常。
void printIndex(int i) {
System.out.println(i*3+"");
System.out.println(i*3 + 1);
System.out.println(i*3 + 2);
}