Javier Rohman

Generation

generate functionWed, 14 May 2025

genera un código en NetBeans y en lenguaje java en base a las siguientes instrucciones: Se requiere desarrollar un módulo que determine si un estudiante es candidato a Beca, cuando el requisito es tener matriculado al menos 12 créditos y tener un promedio mayor de 89 en las materias del semestre anterior. El sistema requiere que exista una pantalla para recibir los datos de identificación del estudiante, el registro de cantidad de materias que matriculó el semestre pasado, las notas obtenidas en el semestre anterior y la cantidad de créditos matriculados actualmente. Una vez registrado los datos, el sistema debe presentar un reporte que indique el nombre del estudiante, cantidad de materias matriculadas y promedio ponderado de acuerdo con las notas del semestre anterior y cantidad de créditos que actualmente tiene matriculado y el resultado de la validación de otorgamiento de beca.

A continuación, te proporciono un ejemplo de código en Java que cumple con las instrucciones proporcionadas. Este código utiliza NetBeans como entorno de desarrollo. **Clase Estudiante** ```java public class Estudiante { private String nombre; private int cantidadMateriasMatriculadas; private double[] notas; private int cantidadCreditosMatriculados; public Estudiante(String nombre, int cantidadMateriasMatriculadas, double[] notas, int cantidadCreditosMatriculados) { this.nombre = nombre; this.cantidadMateriasMatriculadas = cantidadMateriasMatriculadas; this.notas = notas; this.cantidadCreditosMatriculados = cantidadCreditosMatriculados; } public String getNombre() { return nombre; } public int getCantidadMateriasMatriculadas() { return cantidadMateriasMatriculadas; } public double[] getNotas() { return notas; } public int getCantidadCreditosMatriculados() { return cantidadCreditosMatriculados; } public double calcularPromedioPonderado() { double suma = 0; for (int i = 0; i < notas.length; i++) { suma += notas[i] * (i + 1); } return suma / (notas.length * (notas.length + 1) / 2); } public boolean esCandidatoABeca() { return cantidadMateriasMatriculadas >= 12 && calcularPromedioPonderado() > 89 && cantidadCreditosMatriculados >= 12; } } ``` **Clase Main** ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Main { private JFrame frame; private JTextField nombreField; private JTextField cantidadMateriasField; private JTextField cantidadCreditosField; private JTextArea notasArea; private JButton calcularButton; private JLabel resultadoLabel; public Main() { frame = new JFrame("Validación de Beca"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(5, 2)); panel.add(new JLabel("Nombre:")); nombreField = new JTextField(); panel.add(nombreField); panel.add(new JLabel("Cantidad de materias matriculadas:")); cantidadMateriasField = new JTextField(); panel.add(cantidadMateriasField); panel.add(new JLabel("Notas (separadas por comas):")); notasArea = new JTextArea(5, 20); panel.add(new JScrollPane(notasArea)); panel.add(new JLabel("Cantidad de créditos matriculados:")); cantidadCreditosField = new JTextField(); panel.add(cantidadCreditosField); calcularButton = new JButton("Calcular"); calcularButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { calcular(); } }); panel.add(new JLabel("")); panel.add(calcularButton); frame.add(panel, BorderLayout.CENTER); resultadoLabel = new JLabel(""); frame.add(resultadoLabel, BorderLayout.SOUTH); frame.pack(); frame.setVisible(true); } private void calcular() { try { String nombre = nombreField.getText(); int cantidadMaterias = Integer.parseInt(cantidadMateriasField.getText()); String[] notasStr = notasArea.getText().split(","); double[] notas = new double[notasStr.length]; for (int i = 0; i < notasStr.length; i++) { notas[i] = Double.parseDouble(notasStr[i].trim()); } int cantidadCreditos = Integer.parseInt(cantidadCreditosField.getText()); Estudiante estudiante = new Estudiante(nombre, cantidadMaterias, notas, cantidadCreditos); String resultado = "Nombre: " + estudiante.getNombre() + "\n"; resultado += "Cantidad de materias matriculadas: " + estudiante.getCantidadMateriasMatriculadas() + "\n"; resultado += "Promedio ponderado: " + estudiante.calcularPromedioPonderado() + "\n"; resultado += "Cantidad de créditos matriculados: " + estudiante.getCantidadCreditosMatriculados() + "\n"; resultado += "Es candidato a beca: " + estudiante.esCandidatoABeca(); resultadoLabel.setText(resultado); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(frame, "Error: los campos deben ser números enteros o decimales."); } } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new Main(); } }); } } ``` Este código crea una ventana con campos para ingresar la información del estudiante, incluyendo el nombre, cantidad de materias matriculadas, notas y cantidad de créditos matriculados. Al presionar el botón "Calcular", se calcula el promedio ponderado y se verifica si el estudiante es candidato a beca. El resultado se muestra en la ventana.

Want to kickstart your project?Use the new AI Studio to create your code