使用一维和多维数组的原理按要求用java编程 1) В массиве А1, ..., Аn найти сумму чисел, расположенных на местах, кратных 3. 2) Найти номер первого положительного элемента массива В1, ... ,Вn и сумму элементов, расположенных правее него. 3) Из отрицательных элементов массива Х1, Х2 , ... , Хn, расположенных левее минимального элемента, сформировать новый массив.
时间: 2023-11-13 20:05:59 浏览: 91
下面是使用一维和多维数组的 Java 代码,实现您提供的三个问题:
1. 在数组 A1, ..., An 中找到所有位置是 3 的倍数的数字的总和。
```java
public static int sumOfMultiplesOfThree(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
if (i % 3 == 0) {
sum += arr[i];
}
}
return sum;
}
```
2. 找到数组 B1, ..., Bn 中第一个正数的索引,并计算它右侧所有数字的总和。
```java
public static int sumOfElementsToRightOfFirstPositive(int[] arr) {
int firstPositiveIndex = -1;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > 0) {
firstPositiveIndex = i;
break;
}
}
if (firstPositiveIndex == -1) {
return 0;
}
int sum = 0;
for (int i = firstPositiveIndex + 1; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
```
3. 从数组 X1, X2, ..., Xn 中左侧最小的元素开始,将所有负数元素复制到一个新的数组中。
```java
public static int[] negativeElementsToLeftOfMin(int[] arr) {
int minIndex = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
int numNegative = 0;
for (int i = 0; i < minIndex; i++) {
if (arr[i] < 0) {
numNegative++;
}
}
int[] negArr = new int[numNegative];
int index = 0;
for (int i = 0; i < minIndex; i++) {
if (arr[i] < 0) {
negArr[index] = arr[i];
index++;
}
}
return negArr;
}
```
阅读全文