6.métodos en java

19
6.Métodos: un análisis más detallado. Ramiro Estigarribia Canese

Upload: ramiro-estigarribia-canese

Post on 26-Jul-2015

159 views

Category:

Technology


0 download

TRANSCRIPT

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 Cuadradapackage 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úmerospackage 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.javapackage mayor;public class Mayor {public static void main(String[] args) {BuscarMayor BuscarMayor = new BuscarMayor();BuscarMayor.Mayor();} }

Mayor de 3 NúmerosBuscadorMaximo.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 mayorif ( 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 Randompublic 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