我必须输入一个确定数组大小的数字,然后添加的以下数字是要考虑的实际值,然后取最后两个整数并将它们用作我找到的数组的索引。我想相乘的特定数字。
例如,我将输入9 3 7 10 18 70 6 4 3 5,其中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并使用它们。我相信这是因为我的数组确实从3到9开头,但是如何从数组的末尾获得正确的索引又如何解决呢?这三个应该在索引1处,并且实际上是在0处,这偏移了我所有的值。我无法将9添加到数组中,因为我需要将其分开才能知道它将容纳多少个整数,但是我真的不知道如何解决这个问题。
答案 0 :(得分:0)
代码按照预期的方式工作。 如果要从索引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);
答案 1 :(得分:0)
对不起,您的问题有点令人困惑,但是可以用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];
希望这会有所帮助。