SlideShare una empresa de Scribd logo
6.Métodos: un análisis
más detallado.
Ramiro Estigarribia Canese
Objetivos del Capítulo.
➔ Conocer cómo se asocian los métodos.
➔ Utilizar los métodos Math.
➔ Pasar información entre métodos.
➔ Comprender cómo se soporta el mecanismo de
llamada/retorno.
➔ Conocer cómo los paquetes agrupan las clases
relacionadas.
➔ Utilizar la generación de números aleatorios para
implementar aplicaciones para juegos.
Programas Reales.
➔ La mayoría de los programas que resuelven
problemas reales son más grandes que los
programas que se presentan en los primeros
capítulos.
➔ La experiencia ha demostrado que la mejor forma
de desarrollar y mantener un programa extenso es
construirlo a partir de piezas (o componentes)
simples y pequeñas.
➔ A esta técnica se le conoce como divide y
vencerás.
Módulos de programas.
➔ Existen tres tipos de módulos en Java:
métodos, clases y paquetes.
➔ Para escribir programas, se combinan los nuevos
métodos y clases que usted escribe con los que
están disponibles en Java.
➔ Por lo general, las clases relacionadas están
agrupadas en paquetes, de manera que se pueden
importar a los programas y reutilizarse.
➔ En el capítulo 8 aprenderá a agrupar sus propias
clases en paquetes.
¿Qué son los métodos?
➔ Los métodos permiten dividir un programa
en módulos.
➔ Las instrucciones de los métodos se escriben sólo
una vez, y se reutilizan muchas veces.
➔ Una razón para dividir un programa en módulos es
la metodología “divide y vencerás”, que hace que el
desarrollo sea más fácil de administrar.
➔ Otra razón es la reutilización de software (usar los
métodos existentes como bloques de construcción
para crear nuevos programas).
Recomendación de
Ingeniería del Software.
➔ Para promover la reutilización, cada método debe
limitarse de manera que realice una sola tarea bien
➔ definida, y su nombre debe expresar esa tarea con
efectividad.
➔ Estos métodos hacen que los programas sean más
fáciles de escribir, depurar y modificar.
➔ Un método se invoca mediante una llamada, y
cuando el método que se llamó completa su tarea,
devuelve un resultado.
La clase Math
➔ La clase Math cuenta con una colección de
métodos que nos permiten realizar cálculos
matemáticos.
➔ Por ejemplo, podemos calcular la raíz cuadrada de
900 con una llamada al siguiente método:
Math.sqrt(900). Resultado = 30.0.
➔ El método sqrt recibe un argumento de tipo double
y devuelve el resultado.
➔ Para imprimir el valor de la llamada anterior al
método en una ventana de comandos:
➔ System.out.println( Math.sqrt( 900 ) );
Raiz Cuadrada
package raiz;
import java.util.Scanner;
public class Raiz {
public static void main(String[] args) {
Scanner entrada = new Scanner( System.in );
double numero, raiz;
System.out.println("Ingrese 1 número:");
numero = entrada.nextInt();
raiz=Math.sqrt(numero);
System.out.println("La Raiz es:"+raiz);
}
}
Mayor de 2 Números
package mayor;
import java.util.Scanner;
public class Mayor {
public static void main(String[] args) {
Scanner entrada = new Scanner( System.in );
double numero1, numero2, mayor;
System.out.println("Ingrese 2 números:");
numero1 = entrada.nextInt();
numero2 = entrada.nextInt();
mayor=Math.max(numero1,numero2);
System.out.println("El mayor es:"+mayor);
}
}
Constante PI
➔ La clase Math también declara campos
que representan unas constantes
matemáticas de uso común: Math.PI.
➔ La constante Math.PI (3.14159265358979323846)
es la proporción de la circunferencia de un círculo
con su diámetro.
➔ Al hacer a estos campos static, se puede acceder a
ellos mediante el nombre de clase Math y un
separador de punto (.), justo igual que los métodos
de la clase Math.
Función con 1 Parámetro.
package cuadrado;
public class Cuadrado {
static int cuadrado(int numero) {
int resultado;
resultado=numero*numero;
return resultado; }
public static void main(String[] args) {
int cuadrado, numero=12;
cuadrado = cuadrado( numero );
System.out.println("El cuadrado es: "+cuadrado);
}}
Métodos con muchos
parámetros
➔ Los capítulos 3 a 5 presentaron clases que
contienen métodos simples.
➔ Ahora le mostraremos cómo escribir métodos con
varios parámetros.
➔ La siguiente aplicación utiliza el método máximo,
declarado por el programador, para determinar y
devolver el mayor de tres números.
➔ Cuando la aplicación empieza a ejecutarse, el
método main crea un objeto de la clase
BuscarMayor.
Utilizando Clases:
Mayor de 2 Números
//Mayor.java
package mayor;
public class Mayor {
public static void main(String[] args) {
BuscarMayor BuscarMayor = new BuscarMayor();
BuscarMayor.Mayor();
}
}
Mayor de 3 Números
BuscadorMaximo.java
package mayor;
import java.util.Scanner;
public class BuscarMayor {
public void Mayor()
{
Scanner entrada = new Scanner( System.in );
System.out.print("Ingrese 2 numeros:");
int numero1 = entrada.nextInt();
int numero2 = entrada.nextInt();
int resultado = maximo(numero1,numero2);
System.out.println( "El mayor es: " + resultado );
}
public int maximo(int x, int y)
{
int mayor = x; // asume que x es el mayor
if ( y > mayor )
mayor = y;
return mayor;
}
}
Combinando texto
mediante concatenación
➔ Java permite crear objetos String mediante el
ensamblado de objetos string más pequeños,
mediante el uso del operador +.
➔ A esto se le conoce como concatenación de
objetos string.
➔ El operador + crea un nuevo objeto String en el
cual los caracteres del operando derecho se
colocan al final de los caracteres en el operando
izquierdo.
➔ Por ejemplo, la expresión "hola" + "a todos" crea el
objeto String "hola a todos".
Ejemplo práctico:
Sorteo de números.
➔ En ésta y en la siguiente sección desarrollaremos
un programa de juego con varios métodos.
➔ El programa utiliza la mayoría de las instrucciones
de control presentadas hasta este punto en el libro,
e introduce conceptos nuevos.
➔ Hay algo en el ambiente de un casino de apuestas
que anima a las personas:
➔ Es el elemento de azar, la posibilidad de que la
suerte convierta un bolsillo lleno de dinero.
➔ El elemento de azar puede introducirse en un
programa mediante un objeto de la clase Random
(paquete java.util)
Random
➔ Se puede crear un generador de números aleatorios
de la siguiente manera:
Random numerosAleatorios = new Random();
➔ Después, el generador de números aleatorios puede
usarse para generar nuevos valores númericos,
boolean, byte, float, double, int, long y gaussianos.
➔ El método nextInt de la clase Random genera un
valor int aleatorio en el rango de –2.147.483.648 a +2.
147.483.647.
➔ Cualquier valor en ese rango debería tener una
oportunidad de salir sorteado.
package sorteo;
import java.util.Random; //clase Random
public class Sorteo {
public static void main( String args[] )
{
Random sortear = new Random();
int cara;
for ( int contador = 1; contador <= 5; contador++ )
{
cara = 1 + sortear.nextInt( 6 );
System.out.printf( " "+cara ); // muestra el valor generado
} } }
Programa que lanza un
dado 5 veces

Más contenido relacionado

La actualidad más candente

FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
Videoconferencias UTPL
 
Practica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FIPractica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FI
Jorge Iván Alba Hernández
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
vic-97
 
Practica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FIPractica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FI
Jorge Iván Alba Hernández
 
Algoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguajeAlgoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguaje
marcelo montaña rangel
 
Guía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web BásicaGuía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web Básica
José Ricardo Tillero Giménez
 
Operaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje COperaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje C
Denisse C
 
Aa javaaa intro
Aa javaaa introAa javaaa intro
Aa javaaa intro
MickeT
 
Programas e informes Programación
Programas e informes ProgramaciónProgramas e informes Programación
Programas e informes Programación
MauricioPumalpa
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura SecuencialRegina Flores
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicio
KeevynMoreno
 
282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)
Jesus Tangarife
 
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNNataly Rojitas
 
IntroduccióN A Visual C
IntroduccióN A Visual CIntroduccióN A Visual C
IntroduccióN A Visual Coswchavez
 
POO. Unidad 2: Clases y objetos Ejercicio 2
POO. Unidad 2: Clases y objetos Ejercicio 2POO. Unidad 2: Clases y objetos Ejercicio 2
POO. Unidad 2: Clases y objetos Ejercicio 2
Fabiola Valerio Ramirez
 
Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2
josegmay
 
Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad
José Antonio Sandoval Acosta
 
Ejercicio
EjercicioEjercicio
Ejercicio
KeevynMoreno
 

La actualidad más candente (20)

FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
 
Practica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FIPractica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FI
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Practica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FIPractica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FI
 
Algoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguajeAlgoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguaje
 
Guía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web BásicaGuía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web Básica
 
Operaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje COperaciones entre cadenas y valores numéricos en lenguaje C
Operaciones entre cadenas y valores numéricos en lenguaje C
 
Aa javaaa intro
Aa javaaa introAa javaaa intro
Aa javaaa intro
 
Programas e informes Programación
Programas e informes ProgramaciónProgramas e informes Programación
Programas e informes Programación
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura Secuencial
 
Arreglo bidimensional ejercicio
Arreglo bidimensional ejercicioArreglo bidimensional ejercicio
Arreglo bidimensional ejercicio
 
282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)
 
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
 
IntroduccióN A Visual C
IntroduccióN A Visual CIntroduccióN A Visual C
IntroduccióN A Visual C
 
POO. Unidad 2: Clases y objetos Ejercicio 2
POO. Unidad 2: Clases y objetos Ejercicio 2POO. Unidad 2: Clases y objetos Ejercicio 2
POO. Unidad 2: Clases y objetos Ejercicio 2
 
Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2Javascript es6-ejercicios-resueltos-parte-2
Javascript es6-ejercicios-resueltos-parte-2
 
MéTodos
MéTodosMéTodos
MéTodos
 
Lenguaj script
Lenguaj scriptLenguaj script
Lenguaj script
 
Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad
 
Ejercicio
EjercicioEjercicio
Ejercicio
 

Destacado

Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Diego Paúl Cuenca Quezada
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
Angel Vázquez Patiño
 
Gestion de archivos
Gestion de archivos Gestion de archivos
Gestion de archivos
kathiuxka
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivosJulian Parra
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
Michelle Torres
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
Clara Patricia Avella Ibañez
 
Sistemas de Gestión de Archivos
Sistemas de Gestión de ArchivosSistemas de Gestión de Archivos
Sistemas de Gestión de ArchivosVero Mateus
 
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.Jorge Noy
 
Gestión de archivos
Gestión de archivosGestión de archivos
Gestión de archivoseduardoed5
 

Destacado (9)

Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Gestion de archivos
Gestion de archivos Gestion de archivos
Gestion de archivos
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Sistemas de Gestión de Archivos
Sistemas de Gestión de ArchivosSistemas de Gestión de Archivos
Sistemas de Gestión de Archivos
 
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
 
Gestión de archivos
Gestión de archivosGestión de archivos
Gestión de archivos
 

Similar a 6.Métodos en Java

Computación 2 java
Computación 2 javaComputación 2 java
Computación 2 java
Maestros en Linea
 
clases y objetos
clases y objetosclases y objetos
clases y objetos
Iván Timekool
 
Computación 2 java
Computación 2 javaComputación 2 java
Computación 2 java
Maestros Online
 
Lec11 metodos
Lec11 metodosLec11 metodos
Lec11 metodos
htmrk
 
Computación 3 sb04003 2013
Computación 3 sb04003 2013Computación 3 sb04003 2013
Computación 3 sb04003 2013Maestros Online
 
Computación 3
Computación 3Computación 3
Computación 3
Maestros Online
 
3.introducción a las clases y los objetos en java
3.introducción a las clases y los objetos en java3.introducción a las clases y los objetos en java
3.introducción a las clases y los objetos en java
Ramiro Estigarribia Canese
 
03. Curso .NET con C# autor Universidad de Alicante.pdf
03. Curso .NET con C# autor Universidad de Alicante.pdf03. Curso .NET con C# autor Universidad de Alicante.pdf
03. Curso .NET con C# autor Universidad de Alicante.pdf
RamonMartinespaa
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
Maestros en Linea
 
Computación 2
Computación 2Computación 2
Computación 2
Maestros en Linea
 
Informe#15
Informe#15Informe#15
Informe#15
paulcuenca9
 
Computación 2 c++
Computación 2 c++Computación 2 c++
Computación 2 c++
Maestros en Linea
 
Computación 3
Computación 3Computación 3
Computación 3
Maestros en Linea
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012Maestros Online
 
Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)
Jyoc X
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
Tensor
 
07 Arrays.pptx
07 Arrays.pptx07 Arrays.pptx
07 Arrays.pptx
LuisAlfonsoHayser3
 

Similar a 6.Métodos en Java (20)

6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Computación 2 java
Computación 2 javaComputación 2 java
Computación 2 java
 
clases y objetos
clases y objetosclases y objetos
clases y objetos
 
Computación 2 java
Computación 2 javaComputación 2 java
Computación 2 java
 
Lec11 metodos
Lec11 metodosLec11 metodos
Lec11 metodos
 
Computación 3 sb04003 2013
Computación 3 sb04003 2013Computación 3 sb04003 2013
Computación 3 sb04003 2013
 
Computación 3
Computación 3Computación 3
Computación 3
 
3.introducción a las clases y los objetos en java
3.introducción a las clases y los objetos en java3.introducción a las clases y los objetos en java
3.introducción a las clases y los objetos en java
 
03. Curso .NET con C# autor Universidad de Alicante.pdf
03. Curso .NET con C# autor Universidad de Alicante.pdf03. Curso .NET con C# autor Universidad de Alicante.pdf
03. Curso .NET con C# autor Universidad de Alicante.pdf
 
Curso netcsharp
Curso netcsharpCurso netcsharp
Curso netcsharp
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
 
Computación 2
Computación 2Computación 2
Computación 2
 
Informe#15
Informe#15Informe#15
Informe#15
 
Computación 2 c++
Computación 2 c++Computación 2 c++
Computación 2 c++
 
Computación 3
Computación 3Computación 3
Computación 3
 
Módulo 2
Módulo 2Módulo 2
Módulo 2
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
 
Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
07 Arrays.pptx
07 Arrays.pptx07 Arrays.pptx
07 Arrays.pptx
 

Más de Ramiro Estigarribia Canese

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
Ramiro Estigarribia Canese
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
Ramiro Estigarribia Canese
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
Ramiro Estigarribia Canese
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
Ramiro Estigarribia Canese
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
Ramiro Estigarribia Canese
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
Ramiro Estigarribia Canese
 
Servicios web
Servicios webServicios web
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
Ramiro Estigarribia Canese
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
Ramiro Estigarribia Canese
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
Ramiro Estigarribia Canese
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
Ramiro Estigarribia Canese
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
Ramiro Estigarribia Canese
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
Ramiro Estigarribia Canese
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
Ramiro Estigarribia Canese
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
Ramiro Estigarribia Canese
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
Ramiro Estigarribia Canese
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
Ramiro Estigarribia Canese
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
Ramiro Estigarribia Canese
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
Ramiro Estigarribia Canese
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
Ramiro Estigarribia Canese
 

Más de Ramiro Estigarribia Canese (20)

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
Servicios web
Servicios webServicios web
Servicios web
 
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
 

Último

biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 

Último (20)

biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 

6.Métodos en Java

  • 1. 6.Métodos: un análisis más detallado. Ramiro Estigarribia Canese
  • 2. Objetivos del Capítulo. ➔ Conocer cómo se asocian los métodos. ➔ Utilizar los métodos Math. ➔ Pasar información entre métodos. ➔ Comprender cómo se soporta el mecanismo de llamada/retorno. ➔ Conocer cómo los paquetes agrupan las clases relacionadas. ➔ Utilizar la generación de números aleatorios para implementar aplicaciones para juegos.
  • 3. Programas Reales. ➔ La mayoría de los programas que resuelven problemas reales son más grandes que los programas que se presentan en los primeros capítulos. ➔ La experiencia ha demostrado que la mejor forma de desarrollar y mantener un programa extenso es construirlo a partir de piezas (o componentes) simples y pequeñas. ➔ A esta técnica se le conoce como divide y vencerás.
  • 4. Módulos de programas. ➔ Existen tres tipos de módulos en Java: métodos, clases y paquetes. ➔ Para escribir programas, se combinan los nuevos métodos y clases que usted escribe con los que están disponibles en Java. ➔ Por lo general, las clases relacionadas están agrupadas en paquetes, de manera que se pueden importar a los programas y reutilizarse. ➔ En el capítulo 8 aprenderá a agrupar sus propias clases en paquetes.
  • 5. ¿Qué son los métodos? ➔ Los métodos permiten dividir un programa en módulos. ➔ Las instrucciones de los métodos se escriben sólo una vez, y se reutilizan muchas veces. ➔ Una razón para dividir un programa en módulos es la metodología “divide y vencerás”, que hace que el desarrollo sea más fácil de administrar. ➔ Otra razón es la reutilización de software (usar los métodos existentes como bloques de construcción para crear nuevos programas).
  • 6. Recomendación de Ingeniería del Software. ➔ Para promover la reutilización, cada método debe limitarse de manera que realice una sola tarea bien ➔ definida, y su nombre debe expresar esa tarea con efectividad. ➔ Estos métodos hacen que los programas sean más fáciles de escribir, depurar y modificar. ➔ Un método se invoca mediante una llamada, y cuando el método que se llamó completa su tarea, devuelve un resultado.
  • 7. La clase Math ➔ La clase Math cuenta con una colección de métodos que nos permiten realizar cálculos matemáticos. ➔ Por ejemplo, podemos calcular la raíz cuadrada de 900 con una llamada al siguiente método: Math.sqrt(900). Resultado = 30.0. ➔ El método sqrt recibe un argumento de tipo double y devuelve el resultado. ➔ Para imprimir el valor de la llamada anterior al método en una ventana de comandos: ➔ System.out.println( Math.sqrt( 900 ) );
  • 8.
  • 9. Raiz Cuadrada package raiz; import java.util.Scanner; public class Raiz { public static void main(String[] args) { Scanner entrada = new Scanner( System.in ); double numero, raiz; System.out.println("Ingrese 1 número:"); numero = entrada.nextInt(); raiz=Math.sqrt(numero); System.out.println("La Raiz es:"+raiz); } }
  • 10. Mayor de 2 Números package mayor; import java.util.Scanner; public class Mayor { public static void main(String[] args) { Scanner entrada = new Scanner( System.in ); double numero1, numero2, mayor; System.out.println("Ingrese 2 números:"); numero1 = entrada.nextInt(); numero2 = entrada.nextInt(); mayor=Math.max(numero1,numero2); System.out.println("El mayor es:"+mayor); } }
  • 11. Constante PI ➔ La clase Math también declara campos que representan unas constantes matemáticas de uso común: Math.PI. ➔ La constante Math.PI (3.14159265358979323846) es la proporción de la circunferencia de un círculo con su diámetro. ➔ Al hacer a estos campos static, se puede acceder a ellos mediante el nombre de clase Math y un separador de punto (.), justo igual que los métodos de la clase Math.
  • 12. Función con 1 Parámetro. package cuadrado; public class Cuadrado { static int cuadrado(int numero) { int resultado; resultado=numero*numero; return resultado; } public static void main(String[] args) { int cuadrado, numero=12; cuadrado = cuadrado( numero ); System.out.println("El cuadrado es: "+cuadrado); }}
  • 13. Métodos con muchos parámetros ➔ Los capítulos 3 a 5 presentaron clases que contienen métodos simples. ➔ Ahora le mostraremos cómo escribir métodos con varios parámetros. ➔ La siguiente aplicación utiliza el método máximo, declarado por el programador, para determinar y devolver el mayor de tres números. ➔ Cuando la aplicación empieza a ejecutarse, el método main crea un objeto de la clase BuscarMayor.
  • 14. Utilizando Clases: Mayor de 2 Números //Mayor.java package mayor; public class Mayor { public static void main(String[] args) { BuscarMayor BuscarMayor = new BuscarMayor(); BuscarMayor.Mayor(); } }
  • 15. Mayor de 3 Números BuscadorMaximo.java package mayor; import java.util.Scanner; public class BuscarMayor { public void Mayor() { Scanner entrada = new Scanner( System.in ); System.out.print("Ingrese 2 numeros:"); int numero1 = entrada.nextInt(); int numero2 = entrada.nextInt(); int resultado = maximo(numero1,numero2); System.out.println( "El mayor es: " + resultado ); } public int maximo(int x, int y) { int mayor = x; // asume que x es el mayor if ( y > mayor ) mayor = y; return mayor; } }
  • 16. Combinando texto mediante concatenación ➔ Java permite crear objetos String mediante el ensamblado de objetos string más pequeños, mediante el uso del operador +. ➔ A esto se le conoce como concatenación de objetos string. ➔ El operador + crea un nuevo objeto String en el cual los caracteres del operando derecho se colocan al final de los caracteres en el operando izquierdo. ➔ Por ejemplo, la expresión "hola" + "a todos" crea el objeto String "hola a todos".
  • 17. Ejemplo práctico: Sorteo de números. ➔ En ésta y en la siguiente sección desarrollaremos un programa de juego con varios métodos. ➔ El programa utiliza la mayoría de las instrucciones de control presentadas hasta este punto en el libro, e introduce conceptos nuevos. ➔ Hay algo en el ambiente de un casino de apuestas que anima a las personas: ➔ Es el elemento de azar, la posibilidad de que la suerte convierta un bolsillo lleno de dinero. ➔ El elemento de azar puede introducirse en un programa mediante un objeto de la clase Random (paquete java.util)
  • 18. Random ➔ Se puede crear un generador de números aleatorios de la siguiente manera: Random numerosAleatorios = new Random(); ➔ Después, el generador de números aleatorios puede usarse para generar nuevos valores númericos, boolean, byte, float, double, int, long y gaussianos. ➔ El método nextInt de la clase Random genera un valor int aleatorio en el rango de –2.147.483.648 a +2. 147.483.647. ➔ Cualquier valor en ese rango debería tener una oportunidad de salir sorteado.
  • 19. package sorteo; import java.util.Random; //clase Random public class Sorteo { public static void main( String args[] ) { Random sortear = new Random(); int cara; for ( int contador = 1; contador <= 5; contador++ ) { cara = 1 + sortear.nextInt( 6 ); System.out.printf( " "+cara ); // muestra el valor generado } } } Programa que lanza un dado 5 veces