Hola
Respecto al error que tenia en el código me surge una duda:
Salvo que estaba solicitado así en el enunciado del ejercicio ¿hay algún problema en haberlo escrito con métodos de tipo procedimiento en vez de tipo función?
Respuesta: normalmente un método que calcula algo es tipo función, de esa manera lo invocamos y obtenemos la respuesta que podemos manejar en otro contexto. En muchas ocasiones es preferible usar funciones, incluso si queremos mostrar algo por pantalla podemos usar una función que nos devuelva el String a mostrar, y luego usar ese String. Disponer de un resultado nos será útil, así podremos manipular el resultado (por ejemplo hacer una traducción automática a otro idioma).
Ejemplo: System.out.println ("El resultado del cálculo es "+ miObjeto.hacerCalculo() );
Si hacerCalculo no devolviera algo no podríamos hacer esto.
Realmente no es simplemente para hacer System.out.println, es para muchas más cosas para lo que sirve, esto se va entendiendo a medida que se va progresando como programadores, poco a poco
Saludos