Решение полностью рабочее но далеко не оптимальное.
Почему выдаёт ошибку "Учесть, что число "0" не относится ни к положительным, ни к отрицательным числам.", ведь я это учёл?
package com.javarush.task.task04.task0429;
import java.io.*;
/*
Положительные и отрицательные числа
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
int a=Integer.parseInt(reader.readLine()), b=Integer.parseInt(reader.readLine()), c=Integer.parseInt(reader.readLine());
String s0="количество положительных чисел: 0",s1="количество положительных чисел: 1",s2="количество положительных чисел: 2",s3="количество положительных чисел: 3";
String s00="количество отрицательных чисел: 0",s11="количество отрицательных чисел: 1",s22="количество отрицательных чисел: 2",s33="количество отрицательных чисел: 3";
if(a>=1&b>=1&c>=1){System.out.println(s00);System.out.println(s3);}
else if(a<=-1&b<=-1&c<=-1){System.out.println(s33);System.out.println(s0);}
else if(a>=1&(b>=1|c>=1)&(b<=-1|c<=-1)){System.out.println(s11);System.out.println(s2);}
else if(a<=-1&(b<=-1|c<=-1)&(b>=1|c>=1)){System.out.println(s22);System.out.println(s1);}
else if(b>=1&(a>=1|c>=1)&(a<=-1|c<=-1)){System.out.println(s11);System.out.println(s2);}
else if(b<=-1&(a<=-1|c<=-1)&(a>=1|c>=1)){System.out.println(s22);System.out.println(s1);}
else if(c>=1&(a>=1|b>=1)&(a<=-1|b<=-1)){System.out.println(s11);System.out.println(s2);}
else if(c<=-1&(a<=-1|b<=-1)&(a>=1|b>=1)){System.out.println(s11);System.out.println(s2);}
else if((a==0&b==0&c>=1)|(a==0&b>=1&c==0)|(a>=1&b==0&c==0)){System.out.println(s00);System.out.println(s1);}
else if((a==0&b==0&c<=-1)|(a==0&b<=-1&c==0)|(a<=-1&b==0&c==0)){System.out.println(s11);System.out.println(s0);}
else if((a>=1&b>=1&c==0)|(a==0&b>=1&c>=1)|(a>=1&b==0&c>=1)){System.out.println(s00);System.out.println(s2);}
else if((a<=-1&b<=-1&c==0)|(a==0&b<=-1&c<=-1)|(a<=-1&b==0&c<=-1)){System.out.println(s22);System.out.println(s0);}
else if(a==0&b==0&c==0){System.out.println(s00);System.out.println(s0);}
}
}