Java 如何更正数组索引以选择正确的值
我必须输入一个数字来确定数组的大小,然后添加下面的数字是要考虑的实际值,然后取最后两个整数并用它们作为数组的索引,用这些数组我找到我想要乘以的特定数字。 例如,我将输入937701818706435,其中9表示后面有9个整数,3和5是我想要的索引值。这是10和70,所以我的结果应该是700 扫描器、X和Y在别处声明Java 如何更正数组索引以选择正确的值,java,arrays,for-loop,Java,Arrays,For Loop,我必须输入一个数字来确定数组的大小,然后添加下面的数字是要考虑的实际值,然后取最后两个整数并用它们作为数组的索引,用这些数组我找到我想要乘以的特定数字。 例如,我将输入937701818706435,其中9表示后面有9个整数,3和5是我想要的索引值。这是10和70,所以我的结果应该是700 扫描器、X和Y在别处声明 int intNumber = in.nextInt(); array = new int[intNumber]; for (int a = 0; a < intNumber;
int intNumber = in.nextInt();
array = new int[intNumber];
for (int a = 0; a < intNumber; a++) {
array[a] = in.nextInt();
x = array[array[array.length-1]];
y = array[array[array.length-2]];
}
System.out.println(x * y);
与其查看索引3和5并使用这些值,不如查看索引4和6并使用它们。我相信这是因为我的数组确实是从9之后的3开始的,但是我如何解释这一点,同时仍然从数组的末尾获得正确的索引呢?这三个值应该在索引1处,实际上是在0处,这改变了我所有的值。我不能将9添加到数组中,因为我需要它是分开的,以便知道它将容纳多少个整数,但我真的不知道如何解决这个问题。代码按照它应该的方式工作。 如果要在索引1处启动数组,请将变量a更改为1,并将数组的大小增加1
int intNumber = in.nextInt();
array = new int[intNumber+1];
for (int a = 1; a <=intNumber; a++) {
array[a] = in.nextInt();
}
x = array[array[array.length-1]];
y = array[array[array.length-2]];
System.out.println(x * y);
很抱歉,您的问题有点让人困惑,但在Java中有一点可以帮助您,那就是数组是0索引的。因此,如果我手动构建您的阵列,它将如下所示:
array[0] = 3;
array[1] = 7;
array[2] = 10;
array[3] = 18;
array[4] = 70;
array[5] = 6;
array[6] = 4;
array[7] = 3;
array[8] = 5;
如果我理解你的问题,那么我认为你的答案是做
x = array[array[array.length-1] - 1];
y = array[array[array.length-2] - 1];
希望这有帮助 数组的文字长度应为10。第一个提供的数字9作为第一个元素包含在数组中。为什么x和y的索引值增加了-1?是的,我想不清楚我到底在问什么。基本上,我的代码在我告诉它做的事情上运行得非常好,只是与我的作业需要的不匹配。谢谢你的帮助!谢谢你的帮助!实际上,您主动帮助我解决了另一个问题,那就是将我的变量移出for循环,谢谢您!