Java 计算金字塔的数量
我试图用java计算金字塔中的数字之和。对此,数学规则是2+5+8+9。我的意思是第一排+第二排的第一个数字+第三排的第二个数字Java 计算金字塔的数量,java,Java,我试图用java计算金字塔中的数字之和。对此,数学规则是2+5+8+9。我的意思是第一排+第二排的第一个数字+第三排的第二个数字 int[] numbers = { 2,5,7,1,8,3,6,0,9,4 }; System.out.println(" " + numbers[0]); System.out.println(" " + numbers[1] + " " + numbers[2]); System.out.println(" " +
int[] numbers = { 2,5,7,1,8,3,6,0,9,4 };
System.out.println(" " + numbers[0]);
System.out.println(" " + numbers[1] + " " + numbers[2]);
System.out.println(" " + numbers[3] + " " + numbers[4] + " " + numbers[5]);
System.out.println("" + numbers[6] + " " + numbers[7] + " " + numbers[8] + " " + numbers[9]);
例如:
2
5 7
1 8 3
6 0 9 4
如何在Java中计算2+5+8+9?计算2+5+8+9的最简单方法是使用Java内置功能:
int result = 2+5+8+9;
您应该将棱锥体构造为二维阵列
int[] numbers = { 2,5,7,1,8,3,6,0,9,4 };
int addedElements = 0;
int nextSize = 1;
ArrayList<int[]> pyramid = new ArrayList<>();
while(addedElements< numbers.size()) {
int[] level = new int[nextSize++];
for (int i = 0; i < nextSize - 1; i++) {
level[i] = numbers[addedElements++];
}
}
int result = 0;
//add maximum of each `int[]` in pyramid.
for (int[] array : pyramid) {
int currentMax = array[0];
for (int i = 0; i < array.size(); i++) {
if (array[i] > currentMax) {
currentMax = array[i];
}
result+=currentMax;
}
System.out.println(result);
请尝试以下代码:
int[] numbers = { 2,5,7,1,8,3,6,0,9,4 };
int index = 1;
int number = 2;
int result = numbers[0];
while (index < numbers.length) {
result += numbers[index + number -2];
index += number;
number += 1;
}
System.out.println(result);
但是如果你把你的金字塔放进一个二维数组中,整个辉格会变得更加容易和清晰
int[][] numbers = { {2},
{5,7},
{1,8,3},
{6,0,9,4} };
int result = numbers[0][0];
for (int i = 1; i < numbers.length; i++) {
result += numbers[i][i-1];
}
System.out.println(result);
在形成金字塔时添加数字…金字塔是否表示为数组?@Abhishek我如何在java代码中实现这一点?请展示一些代码。这个金字塔是静态的还是动态的?这个金字塔是如何存储的?@Nikolas Charalambidis不,我怎么能用数组来存储这个金字塔呢?我的意思是数字是不同的,我怎么能这样写我想把每一行的最大数量加起来。对于这个,数学规则是2+5+8+9。我的意思是第一行+第二行的第一个数字+第三行的第二个数字,就像这样哦,我明白了。你能编辑你的问题并将关键信息添加到问题中吗?java.lang.ArrayIndexOutOfBoundsException给出了错误,但我认为它计算错误。因为2+5+8+9=24,但它给出了26个结果。它总是给出实际总和的两个以上。有点错误看你的金字塔,在第二层,7是最大的数字,所以应该是2+7+8+9,这是26是的,但规则是第一行+第二行的第一个数字+第三行的第二个数字,像这样。因此我很难计算2+5+8+9,而不是7。