Hola gabytaits, lo primero para hacer el programa es saber si tienes conocimientos de Java, ya que si no los tienes tendrás que empezar por adquirirlos.
No sé si el enunciado del problema es exactamente ese, te voy a indicar cómo plantearía yo el problema.
Una clase sería Alumno: cada objeto de tipo Alumno tendría como atributos o campos los siguientes:
- Sexo (tipo String, donde almacenaríamos "mujer" u "hombre").
- Matricula (tendrías que aclararme qué significa matricula, si es un importe pagado por la matrícula o si es si está matriculado o no..., según lo que sea habría que aplicarle un tipo u otro).
- Semestre (supongo que se refiere al semestre que está cursando, podría ser un String y almacenar valores como "primero", "segundo", "tercero" ó un tipo int y almacenar valores como 1, 2, 3...)
- Promedio (supongo que se refiere a una calificación, con lo cual podríamos usar un tipo double que almacena una calificación con decimales).
Ahora en otra clase a la que podríamos denominar CalculadorEstadistico tendríamos métodos que recibiendo una colección de alumnos, por ejemplo un ArrayList de alumnos, haga cálculos.
Los métodos serían:
double obtenerPorcentajeMasculino (ArrayList<Alumno> listado)
double obtenerPorcentajeFemenino (ArrayList<Alumno> listado)
double obtenerPromedioMasculino (ArrayList<Alumno> listado)
double obtenerPromedioFemenino (ArrayList<Alumno> listado)
double obtenerPromedioGeneral (ArrayList<Alumno> listado)
Finalmente en una clase denominada ProgramaUniversidad tendríamos el método main y dentro de él crearíamos la colección de alumnos con que vamos a trabajar y sus datos (bien insertados vía código, bien mediante peticiones al usuario).
Desde esta clase llamaríamos crearíamos un objeto CalculadorEstadistico al que le pasamos la colección de alumnos y después invocando sus métodos obtendríamos resultados.
Esto que te he comentado es uno de los posibles planteamientos, seguro que existen otros igual de buenos o mejores, pero por lo menos espero que te sirva como orientación. Saludos!