Eigenvalues of a matrix whose square is zero
A square matrix $A$ is called nilpotent if there is a $p \in \mathbb{N}$ such that $A^p=0$. So let $A$ be a nilpotent matrix. Then we have by definition of an eigenvalue
$$Av=\lambda v,$$
where $\lambda$ is an eigenvalue of $A$ and $v\neq 0$ is an eigenvector of $A$ to the corresponding eigenvalue. Because $A$ is nilpotent we also have
$$0=A^p v=\lambda^p v$$
and because $v \neq 0$ it follows $\lambda^p=0$, i. e. $\lambda=0$. So to your question: The number of non zero eigenvalues is in this case $0$.
Clearly, as the characteristic polynomial of the matrix $A$ is $x^n = 0$, and the eigenvalues are roots of the characteristic polynomial, there can not be any non-zero eigenvalue.
Another approach is this one:
Since $A^2 = 0$, the polynomial $g(x) = x^2$ annihilates A (and this means that the Linear operator defined by $g(T)$ is the null operator). However, the minimal polynomial of A must divide every polynomial that annihilates $A$, so if $m(x)$ is such polynomial, $m$ must divide $g$.
Hence, $m(x) = x^2$, because $A ≠ 0$.
Thus, the characteristical polynomial of $A$ is $p(x) = x^3$, because $p(x)$ has the same roots of $m(x)$ (why?), and $p(x)$ annihilates $A$ (by Cayley-Hamilton theorem).
In conclusion, the characteristical polynomial of $A$ has only a single root, $0$, and since every eigenvalue of $A$ is a root of it's characteristical polynomial, we have that 0 is the only eigenvalue of $A$.