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