You are on page 1of 35

Funciones matemticas y

Manejo de cadenas
La Clase Math
La clase Math representa la librera matemtica de Java. Las
funciones que contiene son las de todos los lenguajes, parece
que se han metido en una clase solamente a propsito de
agrupacin, por eso se encapsulan en Math, y lo mismo
sucede con las dems clases que corresponden a objetos que
tienen un tipo equivalente (Character, Float, etc.). El
constructor de la clase es privado, por los que no se pueden
crear instancias de la clase. Sin embargo, Math es public
para que se pueda llamar desde cualquier sitio y static para
que no haya que inicializarla.
Funciones matemticas y
Manejo de cadenas

La clase Math define dos constantes muy tiles, el


nmero p y el nmero e.

final double E= 2.7182818284590452354;


final double PI = 3.14159265358979323846;

System.out.println("Pi es " + Math.PI);


System.out.println("e es " + Math.E);
Funcin Tipo de Datos Descripcin
Math.abs( x ) para int, long, float y double Valor Abosuluto
Math.sin( double ) Valor Seno
Math.cos( double ) Valor Coseno
Math.tan( double ) Valor Tangente
Math.asin( double ) Valor Arco Seno
Math.acos( double ) Valor Arco Coseno
Math.atan( double ) Valor Arco Tangente
Math.exp( double ) Logaritmo Neperiano
Math.log( double ) Logaritmo natural
Math.sqrt( double ) Raiz Cuadrada
Math.ceil( double )
Math.floor( double )
Math.rint( double )
Math.pow( a,b ) Potencia
Math.round( x ) para double y float Redondear
Funcin Tipo de Datos Descripcin
Math.random() devuelve un double Valor Aleatorio

Math.max( a,b ) para int, long, float y double Valor Maximo


Math.min( a,b) para int, long, float y double Valor minimo
Math.E para la base exponencial

Math.PI para PI

Ejemplo:
double x=4.0;
double r=Math.sqrt(x); // raiz cuadrada
LE.mostrarInformacion(La raiz cuadrada de + x + es " + r);

int x=5, y=9 ;


int max=Math.max(x,y) ; // mayor de de dos enteros
LE.mostrarInformacion ("El mayor es " + max);
int i = -9;double x = 0.3498; LE.mostrarInformacion ("|" +
i + "| es " + Math.abs(i));LE.mostrarInformacion ("|" + x + "| es " + Math.abs(x));
CLASE MATH

Math.ceil
Math.floor
Math.rint
Math.random

Curso: Lenguaje de Programacion


I Ing. Zevallos Vera, Erika
Math.ceil( )
Devuelve el double de tipo entero (double-entero, a partir de
ahora) ms cercano al argumento que se le pasa, yndose
hacia + infinito. Un double-entero es un nmero decimal cuya
parte decimal es siempre 0.

Ejemplo:
System.out.println(Math.ceil(2.3)); // muestra por consola
3.0
System.out.println(Math.ceil(0.895)); // muestra por consola
1.0
System.out.println(Math.ceil(-1.87)); // muestra por consola
1.0
System.out.println(Math.ceil(-0.9)); // muestra por consola
0.0

Curso: Lenguaje de Programacion


I Ing. Zevallos Vera, Erika
Math.floor( )
Devuelve el double-entero ms cercano al
argumento que se le pasa, yndose hacia
infinito.
Ejemplo:
System.out.println(Math.floor(2.3)); // muestra por consola 2.0
System.out.println(Math.floor(0.895)); // muestra por consola 0.0
System.out.println(Math.floor(-1.87)); // muestra por consola 2.0
System.out.println(Math.floor(-0.9)); // muestra por consola 1.0

Curso: Lenguaje de Programacion


I Ing. Zevallos Vera, Erika
Math.rint( )
Devuelve el double-entero redondeado y asociado al
argumento que se le pasa, tomando como cifra base para el
redondeo, la primera despus de la coma del argumento, y
siguiendo los criterios habituales de redondeo.
NOTA: si la cifra base para el redondeo es mayor o igual
que 5, se aumenta en una unidad la cifra anterior; si la cifra
base es menor que 5, no se modifica la cifra anterior.

Ejemplo:
System.out.println(Math.rint(0.891)); // muestra por consola
1.0
System.out.println(Math.rint(1.23)); // muestra por consola
1.0
Curso: Lenguaje de Programacion
I Ing. Zevallos Vera, Erika
Math.rint( )
Si se quiere reducir la cantidad de decimales a partir de
una determinada cifra decimal, se multiplicar por la
potencia de 10 que corresponda, se aplicar el mtodo
y, despus, se dividir entre la potencia de 10 por la
que anteriormente se ha multiplicado.
Ejemplo:
System.out.println(Math.rint(0.891*100)/100);
// muestra por consola 0.89
System.out.println(Math.rint(1.234723*10)/10);
// muestra por consola 1.2
System.out.println(Math.rint(1.284723*10)/10);
// muestra por consola 1.3
Curso: Lenguaje de Programacion
I Ing. Zevallos Vera, Erika
Math.random( )
Para generar un nmero aleatorio entero en el intervalo de min a max se
usa la siguiente expresin:

n = (int) ( (max-min+1) * Math.random( ) + min);

Ejemplo
Genere un nmero aleatorio entero en el intervalo de 0 a 20.

En este caso min es 0 y max es 20.


La frmula es:

numero = (int) ( (20-0+1) * Math.random( ) + 0);

Equivale a : numero = (int) ( (21) * Math.random( ));


Curso: Lenguaje de Programacion
I Ing. Zevallos Vera, Erika
Nmeros aleatorios generados
entre 0 y 20

Math.random( ) permite generar nmeros


aleatorios entre 0 y 1 (incluye el 0 pero no el 1).

Curso: Lenguaje de Programacion


I Ing. Zevallos Vera, Erika
Manejo de Cadenas:
La Clase String

Una String es una variable referenciada asociada a


un objeto de la clase java.lang.String. Se emplea
para almacenar cadenas de caracteres.
Las Strings tienen una caracterstica que las
diferencia del resto de objetos: son inmutables, es
decir, cuando se intenta modificarlas, por ejemplo
al aplicarles un mtodo, no se modifican sino que
se crea otra String nueva.
Otras dos caractersticas de las Strings son:

Una String est indexada, es decir, cada uno


de sus caracteres tiene asociado un ndice: 0
para el primero, 1 para el segundo, etc.

La cadena de caracteres almacenada por una


String siempre se escribe entre comillas
dobles.
String nombre=ANA MARIA;

A N A M A R I A
0 1 2 3 4 5 6 7 8
Mtodo Tipo de Dato Descripcin
length() Devuelve int Longitud de la cadena
charAt(int) Devuelve char Carcter dada una posicin
equals(Object obj) Devuelve
Si es igual
boolean
equalsIgnoreCase( Devuelve Si es igual sin considerar May o
Object obj) boolean Min
compareTo(String) Devuelve int Devuelve un entero menor que
cero si la cadena es lxicamente
menor que str2. Devuelve cero si
las dos cadenas son lxicamente
iguales y un entero mayor que
cero si la cadena es lxicamente
mayor que str2.
startsWith(String) Devuelve
boolean Si comienza o termina con esta
endsWith(String) Devuelve cadena
boolean
Mtodo Tipo de Dato Descripcin
indexOf( int ) Devuelve int Devuelve si esta cadena
lastIndexOf( int ) Devuelve int comienza o termina con un
cierto prefijo o sufijo
substring( int inicio ) Devuelve String
substring(int inicio, int Devuelve String
fin);
Devuelve el primer/ltimo
concat( String); Devuelve String ndice de un carcter/cadena
replace(char antigua, Devuelve String empezando la bsqueda a
char nueva); partir de un determinado
toLowerCase(); Devuelve String desplazamiento.
toUpperCase(); Devuelve String
trim(); Devuelve String
String.valueOf(x) x : int, double,
Convierte un tipo de dato a
float,long
String
Devuelve String
EJEMPLO:

String nombre=juan carlos;

int cantidad=nombre.length(); // 20

String nomMay = nombre.toUpperCase(); // MAGDALENA

String nomMin = nombre.toLowerCase(); // magdalena

char c=nombre.charAt(0); // M
La Clase String

Para crear un string explcitamente se


escribe:
String cadena = new String("El primer
programa");
Tambin se puede escribir,
alternativamente
String cadena = "El primer programa";
Mtodos de String

length ( )
Devuelve la longitud de la cadena de
caracteres (String), incluyendo los
espacios en blanco. La longitud es
siempre una unidad mayor que el ndice
asociado al ltimo caracter de la cadena.
indexOf ( )
Devuelve el ndice en el que aparece
por primera vez el caracter deseado. En
caso de no encontrarlo devuelve el
valor -1.
lastIndexOf ( )
Devuelve el ndice de la posicin en la
que aparece por ltima vez el caracter
deseado. En caso de no encontrarlo
devuelve el valor -1.
toUpperCase ( )
toLowerCase()
equals ( )
Compara dos cadenas de caracteres y
determina si son iguales o no.
LABORATORIO
EJERCICIO: 01

Disee un programa para generar dos numero


aleatorios

package domapli;

public class Prg2 {

public static void main(String[] args) {


LE.mostrarInformacion("Nmero aleatorio:" + Math.random());
LE.mostrarInformacion("Otro nmero aleatorio:" + Math.random());
}
}
EJERCICIO: 02

Disee un programa que lea 2 reales y los redondee


a dos cifras. Utilice las funciones round() y floor()
respectivamente
EJERCICIO: 04

Disee un programa que se


ingrese primer nombre, segundo
nombre y apellido y muestre sus
iniciales
EJERCICIO: 05

En las funciones trigonomtricas los


argumentos se expresan en radianes.
Por ejemplo, el ngulo 45 se
convierte en radianes = (45)*pi/180 y
luego se halla el seno, el coseno y la
tangente. Disee un programa que lea
un angulo cualquiera y halle el seno,
el coseno y la tangente
EJERCICIO: 06

Disee un programa que lea un


texto y los separe en dos textos
de igual tamao y compare cual
de los texto es mayor
alfabticamente
Analizar:
public class Calculadora {
public static void main(String args[]) {
double n1 = 0, n2 = 0;
int opcion = 0;
String valor = "";
do {
System.out.println("[1]:SUMA");
System.out.println("[2]:RESTA");
System.out.println("[3]:MULTIPLICACION");
System.out.println("[4]:DIVISION");
System.out.println("Ingrese su opcin: ");
opcion = Lectura.leerInt();
if (opcion < 5 && opcion > 0) {
System.out.println("Ingrese N1: ");
n1 = Lectura.leerDouble();
System.out.println("Ingrese N2: ");
n2 = Lectura.leerDouble();
switch (opcion) {
case 1:
System.out.println("La suma es: " + (n1 + n2));
break;
case 2:
System.out.println("La resta es: " + (n1 - n2));
break;
case 3:
System.out.println("La multiplicacin es: " + (n1 * n2));
break;
case 4:
System.out.println("La divisin es: " + (n1 / n2));
}

}else{
System.out.println("Opcinno vlida!!!");
}
System.out.println("Desea continuar?");
valor=Lectura.leerString();

} while (valor.equalsIgnoreCase("s"));

}}
Analizar
public static void main(String args[]) {
int opcion = 0;
int n = 0;
double sueldo = 0, acObreros = 0, acIngenieros = 0, acGerentes = 0, sMayor = 0, sMenor = 0;
do {
System.out.println("[1]:OBREROS");
System.out.println("[2]:INGENIEROS");
System.out.println("[3]:GERENTES");
System.out.println("[0]:SALIR");
System.out.println("Inrese opcin: ");
opcion = Lectura.leerInt();
if (opcion < 4 && opcion > 0) {
System.out.println("Ingrese sueldo");
sueldo = Lectura.leerDouble();
if (n == 0) {
sMayor = sueldo;
sMenor = sueldo;
n = 1;
} else {
sMayor = Math.max(sMayor, sueldo);
sMenor = Math.min(sMenor, sueldo);
}
switch (opcion) {
case 1:
acObreros += sueldo;
break;
case 2:
acIngenieros += sueldo;
break;
case 3:
acGerentes += sueldo;
break; }
} else {
System.out.println("Opcin no vlida!!!");
}
} while (opcion != 0);
System.out.println("El total de sueldos de obreros es: " + acObreros);
System.out.println("El total de sueldos de ingenieros es: " +
acIngenieros);
System.out.println("El total de sueldos de gerentes es: " + acGerentes);
System.out.println("El sueldo mayor es: " + sMayor);
System.out.println("El sueldos menor es: " + sMenor);
}}