using System;
public class CadenasTeclado
{
public static void Main()
{
string ejemplo = "Hola, que tal estas";
string ejemplo2 = "Hola";
string ejemplo3;
ejemplo3 = " y hola";
string ejemplo4 = ejemplo2+ejemplo3;
if (ejemplo2 == "Hola")
Console.WriteLine("El texto 2 es Hola");
Console.WriteLine("El texto es: {0}",
ejemplo);
Console.WriteLine("La primera letra es: {0}",
ejemplo[0]);
Console.WriteLine("Las tres primeras letras son: {0}",
ejemplo.Substring(0,3));
Console.WriteLine("La longitud del texto es: {0}",
ejemplo.Length);
Console.WriteLine("La posicion de \"que\" es: {0}",
ejemplo.IndexOf("que"));
Console.WriteLine("La ultima A esta en la posicion: {0}",
ejemplo.LastIndexOf("a"));
Console.WriteLine("En mayúsculas: {0}",
ejemplo.ToUpper());
Console.WriteLine("En minúsculas: {0}",
ejemplo.ToLower());
Console.WriteLine("Si insertamos \", tio\": {0}",
ejemplo.Insert(4,", tio"));
Console.WriteLine("Si borramos las 6 primeras letras: {0}",
ejemplo.Remove(0, 6));
Console.WriteLine("Si cambiamos ESTAS por ESTAMOS: {0}",
ejemplo.Replace("estas", "estamos"));
// Y ahora vamos a leer desde teclado
Console.Write("Dime tu nombre: ");
string nombre = Console.ReadLine();
Console.WriteLine("Hola {0}", nombre);
Console.Write("Vamos a sumar dos números... Primero? ");
int n1 = Convert.ToInt32( Console.ReadLine() );
Console.Write("Segundo? ");
int n2 = Convert.ToInt32( Console.ReadLine() );
Console.WriteLine("Suma: {0}", n1+n2);
}
}
Que mostraría algo como
El texto 2 es Hola
El texto es: Hola, que tal estas
La primera letra es: H
Las tres primeras letras son: Hol
La longitud del texto es: 19
La posicion de "que" es: 6
La ultima A esta en la posicion: 17
En mayúsculas: HOLA, QUE TAL ESTAS
En minúsculas: hola, que tal estas
Si insertamos ", tio": Hola, tio, que tal estas
Si borramos las 6 primeras letras: que tal estas
Si cambiamos ESTAS por ESTAMOS: Hola, que tal estamos
Dime tu nombre: yo
Hola yo
Vamos a sumar dos números... Primero? 1
Segundo? 3
Suma: 4
Al pasarlo a Java tenemos que tener en cuenta que:
- Como ya hemos comentado, el tipo "cadena de texto" no se llama "string", sino "String"
- Como también hemos visto, no se utiliza "{0}" para posicionar los parámetros, pero se pueden unir varios textos en uno usando "+".
- Para comprobar el valor de una cadena no se debe usar "==", porque estaríamos comparando realmente si están en la misma posición de memoria. En vez de eso, debemos usar "equals".
- Para extraer un carácter de la cadena no se emplean corchetes, sino "charAt".
- La longitud no se halla con ".Length" sino con ".length()"
- "Substring", "IndexOf", "LastIndexOf" se usan igual, pero su nombre debe tener la primera letra en minúsculas.
- En lugar de "ToLower" se usa "toLowerCase", y lo mismo ocurre para "ToUpper".
- No existen "Insert" ni "Remove", que tendremos que imitar con "substring".
- La lectura de teclado es mucho más incómoda que en C#: puede que no exista un teclado conectado al sistema, por lo que toda la lectura debe ir dentro de un bloque try-catch. Por si fuera poco, no podemos leer directamente desde la entrada del sistema (System.in), sino a un "flujo de datos de entrada" (InputStreamReader), que a su vez es procesado por un "lector con buffer" (BufferedReader). Además, al principio de nuestro programa deberá aparecer la línea "import java.io.*;"
- Para convertir de cadena a número entero, podemos usar "Integer.parseInt( texto )".
- Si queremos mostrar el resultado de una suma, y estamos concatenando cadenas, puede ser preferible escribir "System.out.println("Suma: "+ (n1+n2));", con la suma entre paréntesis, en vez de "System.out.println("Suma: "+ n1+n2);" para dejar claro que n1 y n2 no se deben concatenar como si ambos fueran texto, sino que primero se deben sumar como números y después ya se puede añadir a la cadena de texto.
import java.io.*;
class CadenasTeclado
{
public static void main( String[] args )
{
String ejemplo = "Hola, que tal estas";
String ejemplo2 = "Hola";
String ejemplo3;
ejemplo3 = " y hola";
String ejemplo4 = ejemplo2+ejemplo3;
if (ejemplo2.equals("Hola") )
System.out.println("El texto 2 es Hola");
System.out.println("El texto es: "+ejemplo);
System.out.println("La primera letra es: "+
ejemplo.charAt(0));
System.out.println("Las tres primeras letras son: "+
ejemplo.substring(0,3));
System.out.println("La longitud del texto es: "+
ejemplo.length());
System.out.println("La posicion de \"que\" es: "+
ejemplo.indexOf("que"));
System.out.println("La ultima A esta en la posicion: "+
ejemplo.lastIndexOf("a"));
System.out.println("En mayúsculas: "+
ejemplo.toUpperCase());
System.out.println("En minúsculas: "+
ejemplo.toLowerCase());
System.out.println("Si insertamos \", tio\": "+
ejemplo.substring(0,4)+
", tio"+
ejemplo.substring(4));
System.out.println("Si borramos las 6 primeras letras: "+
ejemplo.substring(6));
System.out.println("Si cambiamos ESTAS por ESTAMOS: "+
ejemplo.replace("estas", "estamos"));
// Y ahora vamos a leer desde teclado
System.out.print("Dime tu nombre: ");
String nombre = "";
try {
BufferedReader entrada =
new BufferedReader(new InputStreamReader(System.in));
nombre = entrada.readLine();
}
catch (IOException e) {}
System.out.println("Hola "+ nombre);
System.out.print("Vamos a sumar dos números... Primero? ");
String n1string = "";
int n1=0;
try {
BufferedReader entrada =
new BufferedReader(new InputStreamReader(System.in));
n1string = entrada.readLine();
n1 = Integer.parseInt(n1string);
}
catch (IOException e) {}
System.out.print("Segundo? ");
String n2string = "";
int n2=0;
try {
BufferedReader entrada =
new BufferedReader(new InputStreamReader(System.in));
n2string = entrada.readLine();
n2 = Integer.parseInt(n2string);
}
catch (IOException e) {}
System.out.println("Suma: "+ (n1+n2));
}
}
Mañana hablaremos de otros tipos de datos simples, de arrays y de números al azar.
No hay comentarios:
Publicar un comentario