Добрый день, при проверке пишет ошибку в пункте - "Программа должна выводить количество положительных чисел в исходном наборе."
При этом программа все выводит, как положено. В чем ошибка?
package com.javarush.task.task04.task0428;
/*
Положительное число
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String n = reader.readLine();
String[] m = divide(n);
int[] p = change(m);
int a = 0;
for (int i = 0; i < p.length; i++)
if (p[i] > 0)
a = a +1;
System.out.print(a);
}
public static String[] divide(String s) {
ArrayList<String> tmp = new ArrayList<String>();
int i = 0;
for (int j = 0; j < s.length(); j++) {
if (s.charAt(j) == ' ') {
if (j > i) {
tmp.add(s.substring(i, j));
}
i = j + 1;
}
}
if (i < s.length()) {
tmp.add(s.substring(i));
}
return tmp.toArray(new String[tmp.size()]);
}
public static int[] change(String[] s) {
int[] tmp = new int[s.length];
for (int i = 0; i < s.length; i ++)
tmp[i] = Integer.parseInt(s[i]);
return tmp;
}
}package com.javarush.task.task04.task0428;
/*
Положительное число
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String n = reader.readLine();
String[] m = divide(n);
int[] p = change(m);
int a = 0;
for (int i = 0; i < p.length; i++)
if (p[i] > 0)
a = a +1;
System.out.print(a);
}
public static String[] divide(String s) {
ArrayList<String> tmp = new ArrayList<String>();
int i = 0;
for (int j = 0; j < s.length(); j++) {
if (s.charAt(j) == ' ') {
if (j > i) {
tmp.add(s.substring(i, j));
}
i = j + 1;
}
}
if (i < s.length()) {
tmp.add(s.substring(i));
}
return tmp.toArray(new String[tmp.size()]);
}
public static int[] change(String[] s) {
int[] tmp = new int[s.length];
for (int i = 0; i < s.length; i ++)
tmp[i] = Integer.parseInt(s[i]);
return tmp;
}
}