Ingeniería de Sistemas e Informática
TALLER DE
PROGRAMACIÓN
Semana 13 – Sesión N: 01
Métodos
Ing. Anaximandro Fernández Guerrero
Recordando…
¿Qué es una clase en java?
¿Qué son los atributos en java?
Inicio
¿Qué son los métodos en java?
Imagen extraída de: [Link]
Inicio
Contenido de la sesión
Métodos, parámetros, sobre escritura.
Métodos de instancia y static.
Semana 13 – Sesión 01
3
¿Sabías que…?
El primer uso documentado del programa "Hello,
Inicio
World!" se atribuye a Brian Kernighan, pionero
informático y coautor del libro "The C Programming
Language“ (1978) junto con Dennis Ritchie. Este
programa se presenta como el primer ejemplo de
código en el lenguaje C.
Imagen obtenida de: [Link]
4
Conocimientos previos
• ¿Qué se hace en las líneas
7, 8, 10 y 11?
• ¿Qué son aleatorio y
Inicio
raiz?
• ¿Tienes una idea de cómo
hacer lo mismo en Java?
5
Utilidad
• ¿Qué pasó con el código
original?
• ¿Cuál te parece más eficiente?
Utilidad
¿Porqué?
Reconocer cómo crear
métodos para la realización
de tareas.
6
Logro de aprendizaje
Al finalizar la sesión, el
estudiante reconoce que son
Utilidad
los métodos de clase mediante
el desarrollo de actividades
relacionadas paradigma de la
POO
7
Contenido
1 Métodos
Transformación
2 Procedimientos y funciones
3 Pasos de parámetros
4 Cierre
8
Transformación
Métodos
9
Transformación
10
Transformación
11
Transformación
12
Transformación
Procedimientos y funciones
13
Transformación
14
Transformación
15
Transformación
16
Transformación
17
Transformación
18
Transformación
Pasos de parámetros
19
Transformación
20
Transformación
21
Transformación
22
Transformación
23
Transformación
24
Transformación
25
Transformación
26
Transformación
27
Transformación
28
Transformación
29
DESARROLLO DE APLICACIONES
30
package cadenas;
DESARROLLO DE APLICACIONES
import [Link];
import [Link];
public class Metodo01 {
public void datos(String nombre,String apellido,int edad){
JTextArea textArea = new JTextArea();
nombre = [Link]("Ingrese el nombre");
apellido = [Link]("Ingrese el apellido");
edad = [Link]([Link]("Ingrese su edad"));
[Link]("Los datos del usuario son "+nombre+" "+apellido+" y su edad es "+edad);
[Link](null, textArea, "Datos", JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String[]args){
Metodo01 robi = new Metodo01();
[Link](" ","",0);
}
}
31
DESARROLLO DE APLICACIONES
32
package cadenas;
import [Link];
public class compras {
public void compraproducto(){
String nproducto ="";
double precio, totalc;
DESARROLLO DE APLICACIONES
double tp =0;
int cantidad;
nproducto = [Link]("Ingreso el nombre del producto");
precio = [Link]([Link]("Ingreso el precio del producto"));
cantidad = [Link]([Link]("Ingreso la cantidad"));
totalc = precio * cantidad;
if(totalc > 150){
double descuento = totalc*0.20;
tp = totalc - (totalc*0.20);
[Link](null, "El total es: "+totalc+"\nEl descuento es: "+descuento+"\nEl monto a pagar es: "+tp, "Costo de producto",
JOptionPane.INFORMATION_MESSAGE);
}else{
[Link](null, "El total es: "+totalc+"\nNo hay descuento", "Costo de producto", JOptionPane.INFORMATION_MESSAGE);
}}
public void seccion ( ) {
String cliente,opcion;
cliente = [Link]("Ingreso el nombre del cliente");
opcion = [Link]("Ingrese el nombre de la sección de productos");
switch(opcion) {
case "frutas": compraproducto(); break;
case "verduras": compraproducto(); break;
case "abarrotes": compraproducto(); break;
}}
public static void main (String []args){
compras cp = new compras();
[Link]();
}}
33
DESARROLLO DE APLICACIONES
34
import [Link];
public class ProductManager {
public static void main(String[] args) {
ProductList productList = new ProductList();
int option = 0;
DESARROLLO DE APLICACIONES
while (option != 3) {
String input = [Link]("Seleccione una opción:\n1. Agregar producto\n2. Mostrar productos\n3. Salir");
try {
option = [Link](input);
switch (option) {
case 1 -> {
int codigo = [Link]([Link]("Ingrese el código del producto:"));
String nombre = [Link]("Ingrese el nombre del producto:");
String marca = [Link]("Ingrese la marca del producto:");
String fechaVenta = [Link]("Ingrese la fecha de venta del producto:");
String descripcion = [Link]("Ingrese la descripción del producto:");
double precio = [Link]([Link]("Ingrese el precio del producto:"));
[Link](codigo, nombre, marca, fechaVenta, descripcion, precio);
[Link](null, "Producto agregado exitosamente.");
}
case 2 -> [Link]();
case 3 -> [Link](null, "Gracias por utilizar el programa.");
default -> [Link](null, "Opción inválida. Por favor seleccione una opción válida.");
}
} catch (NumberFormatException e) {
[Link](null, "Opción inválida. Por favor seleccione una opción válida.");
}
}
}
} 35
import [Link];
public class ProductList {
Product first;
public void addProduct(int codigo, String nombre, String marca, String fechaVenta, String descripcion, double precio) {
Product newProduct = new Product(codigo, nombre, marca, fechaVenta, descripcion, precio);
DESARROLLO DE APLICACIONES
if (first == null) {
first = newProduct;
} else {
Product current = first;
while ([Link] != null) {
current = (Product) [Link];
}
[Link] = newProduct;
}
}
public void displayProducts() {
if (first == null) {
[Link](null, "La lista está vacía.");
} else {
StringBuilder sb = new StringBuilder();
Product current = first;
while (current != null) {
[Link](current).append("\n\n");
current = (Product) [Link];
}
[Link](null, [Link]());
}
}}
36
public class Product {
int codigo;
DESARROLLO DE APLICACIONES
String nombre;
String marca;
String fechaVenta;
String descripcion;
double precio;
Object next;
public Product(int codigo, String nombre, String marca, String fechaVenta, String descripcion, double precio) {
[Link] = codigo;
[Link] = nombre;
[Link] = marca;
[Link] = fechaVenta;
[Link] = descripcion;
[Link] = precio;
}
@Override
public String toString() {
return "Código: " + codigo + "\nNombre: " + nombre + "\nMarca: " + marca + "\nFecha de venta: " + fechaVenta +
"\nDescripción: " + descripcion + "\nPrecio: $" + precio;
}
}
37
DESARROLLO DE APLICACIONES
38
package aplicaciones; // Métodos getter para obtener los atributos del cliente
// Clase para representar clientes public String getNombre() {
import [Link]; return nombre;
import [Link]; }
import [Link]; public int getEdad() {
import [Link]; return edad;
DESARROLLO DE APLICACIONES
import [Link]; }
import [Link]; public String getSexo() {
import [Link]; return sexo;
import [Link]; }
import [Link]; public double getSalario() {
import [Link]; return salario;
import [Link]; }
import [Link]; }
import [Link]; public class GestionClientesApp extends JFrame {
import [Link]; private Queue<Clientes> colaClientes; // Cola de clientes con prioridad
import [Link]; private JTable ClientesTable; // Tabla para mostrar los clientes
import [Link]; private DefaultTableModel tableModel; // Modelo de la tabla
import [Link]; private JTextField nombreField; // Campo de texto para el nombre
import [Link]; private JTextField edadField; // Campo de texto para la edad
import [Link]; private JTextField sexoField; // Campo de texto para el sexo
import [Link]; private JTextField salarioField; // Campo de texto para el salario
import [Link]; public GestionClientesApp() {
class Clientes { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
private String nombre; setTitle("Gestión de Clientes");
private int edad; setSize(600, 400);
private String sexo; setLocationRelativeTo(null);
private double salario; // Crear cola de clientes con prioridad
public Clientes(String nombre, int edad, String sexo, double salario) { Comparator<Clientes> comparador = Comparator
[Link] = nombre; .comparingInt(Clientes::getEdad)
[Link] = edad; .thenComparing(Clientes::getSexo)
[Link] = sexo; .thenComparingDouble(Clientes::getSalario)
[Link] = salario; .reversed();
} colaClientes = new PriorityQueue<>(comparador);
39
// Crear modelo de tabla JPanel buttonPanel = new JPanel();
tableModel = new DefaultTableModel(); [Link]([Link]);
[Link]("Nombre"); [Link]([Link](10, 10, 10, 10));
[Link]("Edad"); [Link](agregarButton);
JPanel mainPanel = new JPanel(new BorderLayout());
[Link]("Sexo");
[Link]([Link]);
[Link]("Salario");
[Link](scrollPane, [Link]);
ClientesTable = new JTable(tableModel);
DESARROLLO DE APLICACIONES
[Link](formPanel, [Link]);
[Link](new Font("Arial", [Link], 14)); [Link](buttonPanel, [Link]);
JScrollPane scrollPane = new JScrollPane(ClientesTable); getContentPane().add(mainPanel);
[Link]([Link]()); setVisible(true);}
JPanel formPanel = new JPanel(new GridLayout(4, 2, 10, 10)); // Método para agregar un cliente a la cola y a la tabla
[Link]([Link](10, 10, 10, 10)); private void agregarCliente() {
[Link]([Link]); // Obtener datos ingresados en los campos de texto
JLabel nombreLabel = new JLabel("Nombre:"); String nombre = [Link]();
nombreField = new JTextField(); int edad = [Link]([Link]());
[Link](new Dimension(70,100)); String sexo = [Link]();
JLabel edadLabel = new JLabel("Edad:"); double salario = [Link]([Link]());
edadField = new JTextField(); // Crear un objeto cliente con los datos ingresados
JLabel sexoLabel = new JLabel("Sexo:"); Clientes cliente = new Clientes(nombre, edad, sexo, salario);
sexoField = new JTextField(); // Agregar el cliente a la cola de pacientes
JLabel salarioLabel = new JLabel("Salario:"); [Link](cliente);
salarioField = new JTextField(); // Agregar los datos del cliente a la tabla
[Link](nombreLabel); Object[] rowData = { [Link](), [Link](), [Link](), [Link]() };
[Link](nombreField); [Link](rowData);
[Link](edadLabel); // Limpiar campos de texto
[Link]("");
[Link](edadField);
[Link]("");
[Link](sexoLabel);
[Link]("");
[Link](sexoField);
[Link]("");}
[Link](salarioLabel); public static void main(String[] args) {
[Link](salarioField); // Establecer el estilo Nimbus para una apariencia más moderna (opcional)
JButton agregarButton = new JButton("Agregar"); try {
[Link](new ActionListener() { [Link]("[Link]");
@Override } catch (Exception ex) {
public void actionPerformed(ActionEvent e) { [Link]();}
agregarCliente(); [Link](new Runnable() {
}}); public void run() {
new GestionClientesApp();
}
});}} 40
Transformación
41
Transformación
42
4
Cierre
Cierre
43
Imagen extraída de: [Link]
Cierre
Los métodos son bloques de código que se utilizan para realizar
tareas específicas. Cada método tiene un nombre que lo identifica
y puede recibir una serie de parámetros, los cuales son variables
que proporcionan información necesaria para que el método
realice su tarea.
44
Resumen de la sesión
• ¿Qué es un método y para
qué lo utilizamos?
Cierre
• ¿Qué tipos de métodos
existen?
• ¿Qué es un parámetro y
cuál es su utilidad?
45
Bibliografía
Imagen obtenida de: 46
[Link]
47