Programación Modular
La programación modular consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable.
* módulo: es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original.
Variables Locales y Globales
Variables Locales
Es una variable que se declara en el interior de un método, es decir, sólo puede ser utilizada dentro del método donde fue declarada.
Variables Globales
Es una variable que se declara dentro del programa, pero en el exterior de todos los métodos, es decir, puede ser utilizada desde cualquier parte del programa.
Métodos Tipo Void
Sin Parámetros: Estos métodos no pueden recibir datos de entrada ni retornar ningun resultado en su invocación.
void Nombre(){
Declaración de variables locales
Cuerpo del método
}
invocación: Nombre();
Con Parámetros: Estos métodos reciben datos de entrada a través de variables locales al método (parámetros); pero, tampoco pueden retornar ningun resultado en su invocación.
void Nombre(tipo1 v1, tipo2 v2){
Declaración de variables locales
Cuerpo del método
}
invocación: Nombre(valor1, valor2);
Ejemplo:
Vamos a diseñar un programa que determine el área y volumen de una esfera (área: a*pi*r^2, volumen: 4/3*pi*r^3).
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class esfera extends JApplet implements ActionListener{
//Declaración de controles de la GUI
JLabel lblRadio;
JTextField txtRadio;
JButton btnProcesar, btnBorrar;
JTextArea txtS;
JScrollPane scpResultado;
//Declaración de variables globales
double radio, area, volumen;
//Interfaz gráfica de usuario
public void init(){
getContentPane().setLayout(null);
lblRadio = new JLabel("RADIO");
lblRadio.setBounds(20,20,50,23);
getContentPane().add(lblRadio);
txtRadio = new JTextField();
txtRadio.setBounds(90,20,100,23);
getContentPane().add(txtRadio);
btnProcesar = new JButton("PROCESAR");
btnProcesar.setBounds(250,20,100,23);
btnProcesar.addActionListener(this);
getContentPane().add(btnProcesar);
btnBorrar = new JButton("BORRAR");
btnBorrar.setBounds(250,50,100,23);
btnBorrar.addActionListener(this);
getContentPane().add(btnBorrar);
txtS = new JTextArea();
txtS.setFont(new Font("monospaced",0,12));
scpResultado = new JScrollPane(txtS);
scpResultado.setBounds(20,86,331,100);
getContentPane().add(scpResultado);
}
public void actionPerformed( ActionEvent e ){
if(e.getSource()==btnProcesar)
procesar();
if(e.getSource()==btnBorrar)
borrar();
}
//Método botón procesar
void procesar(){
entradaDatos();
calcularArea();
calcularVolumen();
visualizarResultados();
}
//Método botón borrar
void borrar(){
txtRadio.setText("");
txtS.setText("");
txtRadio.requestFocus();
}
//Ingreso de datos
void entradaDatos(){
radio = Double.parseDouble(txtRadio.getText());
}
//Calcula el área de la esfera
void calcularArea(){
area = 4*Math.PI*Math.pow(radio,2);
}
//Calcula el volumen de la esfera
void calcularVolumen(){
volumen = (4/3)*Math.PI*Math.pow(radio,3);
}
//Muestra los resultados
void visualizarResultados(){
txtS.setText("");
imprimir("Área Esfera: "+area);
imprimir("Volumen Esfera: "+volumen);
}
//Imprime una línea de texto con salto de línea
void imprimir(String cadena){
txtS.append(cadena+"\n");
}
}
* En este ejemplo se esta utilizando el método tipo void sin parámetros.
Ir a Estructura de selección multiple Switch.
Ir al siguiente ejemplo tipo void con parámetros.
No pude hacer que me corriera este programa, me sale el siguiente error:
ResponderEliminarError: no se ha encontrado el método principal en la clase esfera, defina el método principal del siguiente modo:\n public static void main(String[] args)\n de lo contrario, se deberá ampliar una clase de aplicación JavaFX javafx.application.Application