Está en la página 1de 35

Funciones matemáticas y

Manejo de cadenas
La Clase Math
La clase Math representa la librería matemática de Java. Las
funciones que contiene son las de todos los lenguajes, parece
que se han metido en una clase solamente a propósito de
agrupación, por eso se encapsulan en Math, y lo mismo
sucede con las demás 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 matemáticas y
Manejo de cadenas

La clase Math define dos constantes muy útiles, el


número p y el número 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);
Función Tipo de Datos Descripción
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
Función Tipo de Datos Descripción
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  
Ejemplo:
para PI

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) más cercano al argumento que se le pasa, yéndose
hacia + infinito. Un double-entero es un número 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 más cercano al
argumento que se le pasa, yéndose 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 después 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 método
y, después, 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 porde Programacion
Curso: Lenguaje consolaI 1.3
Ing. Zevallos Vera, Erika
Math.random( )
Para generar un número aleatorio entero en el intervalo de min a max se
usa la siguiente expresión:

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

Ejemplo
Genere un número aleatorio entero en el intervalo de 0 a 20.

En este caso min es 0 y max es 20.


La fórmula 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
Números aleatorios generados
entre 0 y 20

Math.random( ) permite generar números


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 característica que las
diferencia del resto de objetos: son inmutables, es
decir, cuando se intenta modificarlas, por ejemplo
al aplicarles un método, no se modifican sino que
se crea otra String nueva.
Otras dos características 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
Método Tipo de Dato Descripción
length() Devuelve int Longitud de la cadena
charAt(int) Devuelve char Carácter dada una posición
equals(Object obj) Devuelve boolean
Si es igual

equalsIgnoreCase( Devuelve boolean Si es igual sin considerar May o


Object obj) Min
compareTo(String) Devuelve int Devuelve un entero menor que
cero si la cadena es léxicamente
menor que str2. Devuelve cero si
las dos cadenas son léxicamente
iguales y un entero mayor que
cero si la cadena es léxicamente
mayor que str2.
startsWith(String) Devuelve boolean
Si comienza o termina con esta
endsWith(String) Devuelve boolean cadena
Método Tipo de Dato Descripción
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 carácter/cadena
replace(char antigua, Devuelve String empezando la búsqueda a
char nueva); partir de un determinado
desplazamiento.
toLowerCase(); Devuelve String
toUpperCase(); Devuelve String
trim(); Devuelve String
String.valueOf(x) x : int, double,
float,long Convierte un tipo de dato a
Devuelve String 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 explícitamente se


escribe:
String cadena = new String("El primer
programa");
• También se puede escribir,
alternativamente
String cadena = "El primer programa";
Métodos 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 posición 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.
LABORATORI
O
EJERCICIO: 01

Diseñe un programa para generar dos numero


aleatorios

package domapli;

public class Prg2 {

public static void main(String[] args) {


LE.mostrarInformacion("Número aleatorio:" + Math.random());
LE.mostrarInformacion("Otro número aleatorio:" + Math.random());
}
}
EJERCICIO: 02

Diseñe un programa que lea 2 reales y los redondee


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

Diseñe un programa que se


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

En las funciones trigonométricas 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. Diseñe un programa que lea
un angulo cualquiera y halle el seno,
el coseno y la tangente
EJERCICIO: 06

Diseñe un programa que lea un


texto y los separe en dos textos
de igual tamaño y compare cual
de los texto es mayor
alfabéticamente
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 opción: ");
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 multiplicación es: " + (n1 * n2));
break;
case 4:
System.out.println("La división es: " + (n1 / n2));
}

}else{
System.out.println("Opciónno válida!!!");
}
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 opción: ");
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("Opción no válida!!!");
}
} 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);
}}

También podría gustarte