Tienes diversos errores, el principal es que las variables j y k que usas como contadores, se reinician a 0 cada vez que invocas al método parImpar().
Y además, en la variable "leer" solo tienes un número. Da igual si pides 3 números, o si pides 300... solo vas a tener almacenado el último número leído.
Si quieres almacenar varios números, necesitas poner un array.
Sin embargo, en realidad no necesitas ningún array. Si lo que quieres es una clase que evalúe números introducidos por el usuario y luego te diga cuántos pares e impares ha encontrado, solo necesitas crear una clase con dos atributos: uno para contar pares y otro para contar impares.
Y que tenga dos métodos, uno para evaluar números y otro para que muestre en pantalla cuantos pares e impares lleva contados.
Algo así:
public class CuentaParesImpares {
private int pares;
private int impares;
public CuentaParesImpares() {
pares = 0;
impares = 0;
}
public void parImpar(int numero) {
if (numero %2 == 0)
pares++;
else
impares++;
}
public void resultados() {
System.out.println("Pares encontrados: " + pares);
System.out.println("Impares encontrados: " + impares);
}
}
Y se puede poner a prueba en este main:
public class Test {
public static void main(String[] args) {
CuentaParesImpares cpi = new CuentaParesImpares();
Scanner teclado = new Scanner(System.in);
//Pedimos 5 numeros
for (int i = 0; i < 5; i++) {
System.out.print("Introduzca número: ");
cpi.parImpar(teclado.nextInt());
}
//Mostramos resultado
System.out.println("\nResultados:");
cpi.resultados();
teclado.close();
}
}
Y tenemos este resultado en pantalla:
Introduzca número: 2
Introduzca número: 12
Introduzca número: 3
Introduzca número: 30
Introduzca número: 1
Resultados:
Pares encontrados: 3
Impares encontrados: 2
Esta es una solución prescindiendo de un array, ya que como vemos, no es necesario.
Puede que el enunciado de tu ejercicio te pida usar un array, entonces sí habría que enfocarlo de otro modo.