Está en la página 1de 5

16/3/2018

La clase String
La clase String Declaración, creación e inicialización

• String cad = "Buenas Buenas…";


La clase String provista por Java brinda facilidades
para almacenar y procesar cadenas de caracteres. • String cad;
cad = new String("Buenas Buenas …");
El estado interno de una instancia de tipo String es
una secuencia de caracteres.
Ahora la variable cad puede recibir mensajes
que se ligarán a métodos provistos por la
Una variable de tipo String nombra a una secuencia clase String.
de este tipo.

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

La clase String La clase String


Estos métodos no modifican el estado substring(Ini) retorna la subcadena a partir de la
interno de la variable. posición Ini
Length() retorna la cantidad de caracteres
substring(Ini,Fin) retorna la subcadena a partir de la
de una cadena
posición Ini hasta la anterior a la
toLowerCase() retorna la misma cadena en posición Fin
minúscula indexOf(A) retorna la posición de la primera
toUpperCase() retorna la misma cadena en aparición de la subcadena A en la
mayúscula cadena (-1 si no aparece)
lastIndexOf(A) retorna la posición de la última
trim() retorna la misma cadena pero sin aparición de la subcadena A en la
espacios cadena (-1 si no aparece)

charAt(Pos) retorna el caracter que está en la compareTo(A) Retorna 0 si las cadenas son iguales , o
un número positivo o un número
posición Pos negativo según el orden alfabético
(minúsculas < mayúsculas).
Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

La clase String La clase String: Ejemplos

En Java el mínimo valor para un índice es 0 y


corresponde al primer caracter de la cadena. String cad = "Buenas Buenas…";

cad.substring(3)
retorna: “nas Buenas...”

cad.substring(3,5)
La comparación entre variables de tipo String no
retorna: “na”
se realiza a través del operador relacional ==,
sino con los métodos equals(A) o compareTo(A). cad.substring(3,25)
StringIndexOutOfBoundsException:
String index out of range: 25 (in java.lang.String)

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

1
16/3/2018

La clase String: Ejemplos La clase String: Ejemplos


cad.length()
cad.indexOf (“Bue”)
retorna 16
retorna 0
cad.toLowerCase()
retorna “buenas buenas...” cad.indexOf (“Nue”)
cad.toUpperCase() retorna -1
retorna “BUENAS BUENAS...” cad.lastIndexOf (“Bue”)
cad.trim() retorna 7
retorna “BuenasBuenas...”
cad.compareTo (“Buenos Aires”)
cad.charAt(1)
retorna un número negativo
retorna u
cad.charAt(100)
StringIndexOutOfBoundsException:
String index out of range: 100 (in java.lang.String)

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

La clase String La clase String


Conversión explícita

• Mostrar por pantalla • Para convertir un número en una cadena de caracteres


se emplea el método valueOf
System.out.println (cad) ;

• Concatenar cadenas int valor=10;


String cad =String.valueOf(valor);
System.out.println ("El ganador es "+nombre);

• Conversión implícita y Concatenación

System.out.println ("El puntaje es "+10);

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

La clase String
Conversión explícita
• Para convertir un string en un número entero: La clase Random
1. quitamos los espacios en blanco al principio y al final (con el método trim() ) Un generador de números aleatorios se
2. usamos el método parseInt de la clase Integer utiliza cuando se desea simular situaciones
String cad = " 12 "; de azar.
int numero=Integer.parseInt (cad.trim());
La clase Random de Java es un generador de
• Para convertir un string en número decimal: números pseudo-aleatorios.
1. convertir la cadena en un objeto de la clase Double, mediante el Los números no son realmente aleatorios
método valueOf
2. convertir el objeto de la clase Double en un tipo primitivo double
porque se obtienen a través de un algoritmo
mediante el método doubleValue que genera una secuencia distribuida
uniformemente, a partir de una semilla inicial.
String cad = "12.35 ";
double num=Double.valueOf(cad).doubleValue();
Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

2
16/3/2018

La clase Random La clase Random


1.Importar el paquete que incluye a la clase Random.
La clase brinda dos constructores para crear import java.util.Random;
objetos Random:
2.Crear un objeto de la clase Random
• sin parámetros: el constructor usa la hora Random rnd = new Random();
actual del sistema como semilla, lo que Random rnd = new Random(100);
disminuye la posibilidad de obtener secuencias
de números repetidas. 3.Invocar uno de los métodos que generan un
número aleatorio
//para números enteros
• con un parámetro: el parámetro establece el rnd.nextInt(); rnd.nextInt(3);
valor de la semilla. Se obtiene lo que parece rnd.nextLong();
una secuencia aleatoria, pero si se vuelve a //para números reales entre 0.0 y 1.0
inicializar el objeto con la misma semilla se rnd.nextFloat();rnd.nextDouble();
vuelve a obtener la misma secuencia.
Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

La clase Random: ejemplo La clase Random: ejemplo

Generar una secuencia de 10 números aleatorios CARA O CRUZ


entre 0.0 y 1.0
Un jugador apuesta una cantidad de dinero y tira
Random rnd = new Random(); una moneda.

for (int i = 0; i < 10; i++) { Si sale cara obtiene el doble de la cantidad
apostada, pero si sale cruz pierde la mitad.
System.out.println(rnd.nextDouble());
Implemente una simulación para el juego que parta de un
valor inicial y lo actualice según en la moneda se obtenga
} cara o cruz, hasta que llegue a tener $1 o se realicen 50
tiradas.

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

La clase Random La clase Random

import java.util.Random; while (i<50 && m > 1){


import IPOO.*;
i++;
public class CARAoCRUZ{ caracruz = gen.nextInt(2);
if (caracruz == 1){
public static void main (String arg[]) {
m = m*2;
Random gen; System.out.println (i+" cara "
gen = new Random(); +m);}
else {
System.out.print("Ingrese la apuesta "); m = m / 2;
int m = ES.leerEntero(); System.out.println (i+" cruz "
int i = 0;
int caracruz; +m);}
… }
} Introducción a la Programación Orientada a Objetos
} Introducción a la Programación Orientada a Objetos

3
16/3/2018

1. Declarar un objeto capaz de recibir


Archivos mensajes que provoquen la lectura del archivo:
BufferedReader br = null;
Para el manejo de archivos Java ofrece
clases ya implementadas. 2. Abrir el archivo para lectura:
FileReader fr = new FileReader (ruta)
Para poder usar estas clases: donde ruta es la dirección del archivo en el
import java.io.* disco, ejemplo “arch.txt”

3. Crear el objeto BufferedReader y ligarlo a


Para la lectura desde un archivo de la variabe br:
texto se usan dos clases: br = new BufferedReader (fr)
FileReader
BufferedReader
También se puede hacer todo junto:

BufferedReader br=new BufferedReader (new FileReader (ruta))


.

Archivos Archivos
br ya puede recibir mensajes para leer el
archivo
La apertura y lectura de archivos puede
4. Leer provocar errores en ejecución que es necesario
String str = br.readLine(); prevenir y evitar.
Lee una línea del archivo y la almacena
en la cadena de caracteres ligada a la
variable str. Java brinda servicios para detectar y manejar
excepciones, definiendo bloques encerrados
5. Cerrar entre las palabras reservadas
br.close();
try - catch
Cierra el archivo ligado a la variable
br.
.

Archivos Archivos

try{
Ejemplo:
FileReader fr = new FileReader(ruta);
BufferedReader br = new BufferedReader(fr); Implementar un método que lea una
String str = br.readLine(); secuencia de números enteros de un archivo
br.close(); y compute la cantidad de elementos leídos.
}
catch (IOException err) {
System.out.println("Error al procesar
el archivo");
}

4
16/3/2018

Archivos
public static int procesarArch (String ruta){
int cont=0;
import java.io.*;
try {
FileReader fr = new FileReader (ruta);
class TesterSecuencia { BufferedReader br= new BufferedReader(fr);
String str;
public static void main (String[] args) While ((str = br.readLine())!= null)
{
cont++;
String ruta = “secuencia.txt”; }
catch (IOException err) {
int cont = procesarArch(ruta); System.out.println (“Error al leer el archivo");
}
System.out.println (“La cantidad de return cont;
elementos de la secuencia es “ + cont); }
}

También podría gustarte