Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更正数组索引以选择正确的值_Java_Arrays_For Loop - Fatal编程技术网

Java 如何更正数组索引以选择正确的值

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;

我必须输入一个数字来确定数组的大小,然后添加下面的数字是要考虑的实际值,然后取最后两个整数并用它们作为数组的索引,用这些数组我找到我想要乘以的特定数字。 例如,我将输入937701818706435,其中9表示后面有9个整数,3和5是我想要的索引值。这是10和70,所以我的结果应该是700

扫描器、X和Y在别处声明

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循环,谢谢您!