Приведенный ниже код определяет количество нулей, положительных и отрицательных чисел в массиве, а затем вычисляет соотношение положительных, отрицательных и нулевых элементов в массиве.
public class Solution {
static void plusMinus(int[] arr) {
int pos = 0, neg = 0, zero = 0;
int arrlength = arr.length;
for(int i = 0; i < arrlength; i++){
if(arr[i] > 1){
pos += 1;
} else if(arr[i] < 0){
neg += 1;
} else if(arr[i] == 0){
zero += 1;
}
}
double posfrac = pos/arr.length, negfrac = neg/arr.length, zerofrac =
zero/arr.length;
System.out.println(posfrac);
System.out.println(negfrac);
System.out.println(zerofrac);
}
Моя основная функция, представленная ниже, должна генерировать случайные массивы для plusMinus (), чтобы я мог тестировать plusMinus () в различных случаях.
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int n = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
int[] arr = new int[n];
String[] arrItems = scanner.nextLine().split(" ");
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
for (int i = 0; i < n; i++) {
int arrItem = Integer.parseInt(arrItems[i]);
arr[i] = arrItem;
}
plusMinus(arr);
scanner.close();
}
}
Мой код неничего не возвращаю, когда я запускаю это.Я получаю вывод:
0.0
0.0
0.0