Ejercicios resueltos de String 01
Publicado por burlon (14 intervenciones) el 20/03/2015 10:59:22
Escribe un sencillo programa en Java en el que utilices los 17 métodos vistos en clase para la manipulación de
cadenas (Strings) y vayas mostrando sus resultados:
Ejercicios Obligatorios
•equals •compareTo •valueOf. •toCharArray. •length() •concat (cadena2) •charAt (indice) •substring (desde,hasta)
•indexOf (…) •lastIndexOf (…) •endsWith ( texto) •startsWith ( texto) •replace ( carácter1,carácter2) •replaceAll ( cadena1, cadena2) •toUpperCase( ) •toLowerCase ( ) •split (patrón)
public class EjercicioObligatorios01 {
public static void metodoEquals(String cadena1, String cadena2, String cadena3){
System.out.println("--------------------Equals--------------");
System.out.println("Comparando si son iguales entre " + cadena1 + " y " + cadena3 );
if (cadena1.equals(cadena3)) {
System.out.println("Las cadenas son Iguales");
} else {
System.out.println("Las cadenas no son Iguales");
}
System.out.println("---------------------Equals-------------");
System.out.println("Comparando entre " + cadena1 + " y " + cadena2 );
if (cadena1.equals(cadena2)) {
System.out.println("Las cadenas son Iguales");
} else {
System.out.println("Las cadenas no son Iguales");
}
}
public static void metodoCompareTo(String cadena1, String cadena2, String cadena3){
System.out.println("-------------------CompareTo---------------");
System.out.println("Comparando entre " + cadena1 + " y " + cadena3 );
if (cadena1.compareTo(cadena3)<0) {
System.out.println("La cadena 1 " + cadena1 + " es Mayor que cadena 3 " + cadena3 );
} else {
if (cadena1.compareTo(cadena3)>0) {
System.out.println("La cadena 1 " + cadena1 + " es Menor que cadena 3 " + cadena3 );
} else {
System.out.println("La cadena 1 " + cadena1 + " y cadena 3 " + cadena3 + " son iguales");
}
}
System.out.println("-------------------compareTo---------------");
System.out.println("Comparando entre " + cadena1 + " y " + cadena2 );
if (cadena1.compareTo(cadena2)<0) {
System.out.println("La cadena 1 " + cadena1 + " es Mayor que cadena 2 " + cadena2 );
} else {
if (cadena1.compareTo(cadena2)>0) {
System.out.println("La cadena 1 " + cadena1 + " es Menor que cadena 2 " + cadena2 );
} else {
System.out.println("La cadena 1 " + cadena1 + " y cadena 2 " + cadena2 + " son iguales");
}
}
}
public static void metodoValueOf(String cadena6){
double numeroDecimal = 15.76;
int numeroEntero = 307484;
System.out.println("------------------------ValueOf----------");
System.out.println("Convertir numero a una cadena");
cadena6 = String.valueOf(numeroDecimal);
System.out.println("El numero es " + numeroDecimal );
System.out.println("En cadena es " + cadena6);
cadena6 = String.valueOf(numeroEntero);
System.out.println("El numero es " + numeroEntero );
System.out.println("En cadena es " + cadena6);
}
public static void metodoToCharArray(String cadena6, char cadenaDeChars[]){
double numeroDecimal = 15.76;
int numeroEntero = 307484;
System.out.println("----------------ToCharArray----------");
System.out.println("Convertir numero a una cadena y mostrar la cadena");
cadena6 = String.valueOf(numeroDecimal);
System.out.println("El numero es " + numeroDecimal );
System.out.println("En cadena es " + cadena6);
cadenaDeChars = cadena6.toCharArray();
System.out.println("Tinene " + cadenaDeChars.length + " posiciones");
for (int i = 0; i < cadenaDeChars.length; i++) {
System.out.println("Posicion [" + i + "] : " + cadenaDeChars[i]);
}
cadena6 = String.valueOf(numeroEntero);
System.out.println("El numero es " + numeroEntero );
System.out.println("En cadena es " + cadena6);
cadenaDeChars = cadena6.toCharArray();
System.out.println("Tinene " + cadenaDeChars.length + " posiciones");
for (int i = 0; i < cadenaDeChars.length; i++) {
System.out.println("Posicion [" + i + "] : " + cadenaDeChars[i]);
}
}
public static void metodoLength(String cadena1, String cadena3, String cadena5, String cadena6){
System.out.println("---------------Length()---------");
System.out.println(" mostrar longitud de la cadena");
System.out.println("La cadena 1 es de " + cadena1.length() + " Posiciones");
System.out.println("La cadena 3 es de " + cadena3.length() + " Posiciones");
System.out.println("La cadena 5 es de " + cadena5.length() + " Posiciones");
System.out.println("La cadena 6 es de " + cadena6.length() + " Posiciones");
}
public static void metodoConcat(String cadena1, String cadena2){
System.out.println("---------------Concat()---------");
System.out.println("-------------- concatena cadenas----------");
System.out.println("Se va a juntar cadena 1 " + cadena1 + " mas la cadena 2 " + cadena2);
System.out.println("La cadena 1 quedara " + cadena1.concat(cadena2));
}
public static void metodoCharAt(String cadena1, String cadena2){
System.out.println("---------------CharAt()---------");
System.out.println("------Nos devuelve el carácter ubicado en la posición indicada en indice.----------");
System.out.println("Sacar el valor de la posicion 3");
char charAt = cadena1.charAt(3);
System.out.println(charAt);
}
public static void metodoSubstring(String cadena7){
System.out.println("---------------Substring()---------");
System.out.println("---Muestra la subcadena ubicada entre el Ãndice “desdeâ€� hasta el “hasta-1â€�---------");
System.out.println("La cadena es: " + cadena7);
System.out.println("La cadena queda: " + cadena7.substring(3, 19));
}
public static void metodoIndexOf(String cadena7){
System.out.println("---------------IndexOf()---------");
System.out.println("----Muestra la posición (Ãndice) de un carácter en una cadena.----");
System.out.println(cadena7);
System.out.println("La primera 'e' esta en la posicion");
System.out.println(cadena7.indexOf('e'));
}
public static void metodoLastIndexOf(String cadena7){
System.out.println("---------------LastIndexOf()---------");
System.out.println("------Como indexOf pero comenzando la búsqueda por atrás-----");
System.out.println(cadena7);
System.out.println("La ultima 'e' esta en la posicion");
System.out.println(cadena7.lastIndexOf('e'));
}
public static void metodoEndsWith(String cadena7){
System.out.println("---------------EndsWith()---------");
System.out.println("-------Devuelve true si la cadena termina con el texto indicado-------");
System.out.println("El final de la cadena es: ¿pueblo?");
System.out.println(cadena7.endsWith("pueblo"));
System.out.println("El final de la cadena es: ¿ciudad?");
System.out.println(cadena7.endsWith("ciudad"));
}
public static void metodoStartsWith(String cadena7){
System.out.println("---------------StartsWith()---------");
System.out.println("-----Devuelve true si la cadena comienza por el texto indicado--------");
System.out.println("El principio de la cadena es: ¿Hoy?");
System.out.println(cadena7.startsWith("Hoy"));
System.out.println("El principio de la cadena es: ¿Ayer?");
System.out.println(cadena7.startsWith("Ayer"));
}
public static void metodoReplace(String cadena7){
System.out.println("---------------Replace()---------");
System.out.println("-------Sustituye las apariciones del carácter1 por carácter2------");
System.out.println(cadena7);
System.out.println("Se va a cambiar las 'e' por 'o' en la cadena");
System.out.println(cadena7.replace('e', 'o'));
}
public static void metodoReplaceAll(String cadena7, String cadena2){
System.out.println("---------------ReplaceAll()---------");
System.out.println("----Sustituye las apariciones de la cadena1 por cadena2-------");
System.out.println(cadena7);
System.out.println("Se va a cambiar la cadena 7 por lo que contiene la cadena 2");
System.out.println(cadena7.replaceAll(cadena7, cadena2));
}
public static void metodoToUpperCase(String cadena7){
System.out.println("---------------ToUpperCase()---------");
System.out.println("-----Devuelve la misma cadena convertida a mayúsculas-----");
System.out.println(cadena7);
System.out.println(cadena7.toUpperCase());
}
public static void metodoToLowerCase(String cadena7){
System.out.println("---------------ToLowerCase()---------");
System.out.println("------Devuelve la misma cadena convertida a minúsculas--------");
System.out.println(cadena7);
System.out.println(cadena7.toLowerCase());
}
public static void metodoSplit(String cadena8, String resultado[]){
System.out.println("---------------Split()---------");
System.out.println("------Divide una cadena en partes según un patrón-------");
System.out.println(cadena8);
resultado = cadena8.split(";");
for (int i = 0; i < resultado.length; i++) {
System.out.println("en la posicion " + i + " contiene " + resultado[i]);
}
}
public static void main(String[] args) {
// TODO code application logic here
String cadena1 = new String("pedro");
String cadena2 = new String("maria");
String cadena3 = new String("pedro");
String cadena4 = new String("MaRia");
String cadena5 = new String("morgulh");
String cadena7 = new String("Hoy hace mucho frio en este pueblo");
String cadena8 = new String("Hoy; hace mucho frio; en este pueblo");
String [] resultado = new String[6];
String cadena6 = new String("");
char [] cadenaDeChars = new char[10];
metodoEquals(cadena1, cadena2, cadena3);
metodoCompareTo(cadena1, cadena2, cadena3);
metodoValueOf(cadena6);
metodoToCharArray(cadena6, cadenaDeChars);
metodoLength(cadena1, cadena3, cadena5, cadena6);
metodoConcat(cadena1, cadena2);
metodoCharAt(cadena1, cadena2);
metodoSubstring(cadena7);
metodoIndexOf(cadena7);
metodoLastIndexOf(cadena7);
metodoEndsWith(cadena7);
metodoStartsWith(cadena7);
metodoReplace(cadena7);
metodoReplaceAll(cadena7, cadena2);
metodoToUpperCase(cadena7);
metodoToLowerCase(cadena7);
metodoSplit(cadena8, resultado);
}
}
-----------------------------------------------------------------------------------------------------------------------------
Escriba un programa que lea un NIF y compruebe que su letra es correcta, es decir, la letra introducida por el usuario
se corresponde con la calculada. Algoritmo para el cálculo del NIF:
Calcule el Módulo de 23 (resto de la división) del número del DNI
public class EjercicioObligatorios07 {
public static void rellenarTablaDni(char [] tablaDni){
tablaDni[0] = 'T';
tablaDni[1] = 'R';
tablaDni[2] = 'W';
tablaDni[3] = 'A';
tablaDni[4] = 'G';
tablaDni[5] = 'M';
tablaDni[6] = 'Y';
tablaDni[7] = 'F';
tablaDni[8] = 'P';
tablaDni[9] = 'D';
tablaDni[10] = 'X';
tablaDni[11] = 'B';
tablaDni[12] = 'N';
tablaDni[13] = 'J';
tablaDni[14] = 'Z';
tablaDni[15] = 'S';
tablaDni[16] = 'Q';
tablaDni[17] = 'V';
tablaDni[18] = 'H';
tablaDni[19] = 'L';
tablaDni[20] = 'C';
tablaDni[21] = 'K';
tablaDni[22] = 'E';
}
public static String pedirDNI(){
Scanner teclado = new Scanner(System.in);
String dni;
System.out.println("Introduce tu DNI");
dni = teclado.nextLine();
return dni;
}
public static void comprobarLetra(char[] tablaDni, String cadenaDni){
char letraDni;
String numeroDni;
int numeroSinLetra;
int resto;
int contador=0;
letraDni = cadenaDni.charAt(8);
//System.out.println(letraDni);
numeroDni = cadenaDni.substring(0, 8);
numeroSinLetra = Integer.parseInt(numeroDni);
//System.out.println(numeroSinLetra);
resto = numeroSinLetra % 23;
//System.out.println(resto);
for (int i = 0; i < tablaDni.length; i++) {
//System.out.println(tablaDni[i]);
if (( i == resto ) && (letraDni == tablaDni[i])) {
contador=1;
}
}
if (contador ==1) {
System.out.println("El DNI es Valido");
} else{
System.out.println("El DNI no es valido");
}
}
public static void main(String[] args) {
// TODO code application logic here
char[] tablaDni = new char[23];
rellenarTablaDni(tablaDni);
String cadenaDni = new String(pedirDNI());
comprobarLetra(tablaDni, cadenaDni);
}
}
cadenas (Strings) y vayas mostrando sus resultados:
Ejercicios Obligatorios
•equals •compareTo •valueOf. •toCharArray. •length() •concat (cadena2) •charAt (indice) •substring (desde,hasta)
•indexOf (…) •lastIndexOf (…) •endsWith ( texto) •startsWith ( texto) •replace ( carácter1,carácter2) •replaceAll ( cadena1, cadena2) •toUpperCase( ) •toLowerCase ( ) •split (patrón)
public class EjercicioObligatorios01 {
public static void metodoEquals(String cadena1, String cadena2, String cadena3){
System.out.println("--------------------Equals--------------");
System.out.println("Comparando si son iguales entre " + cadena1 + " y " + cadena3 );
if (cadena1.equals(cadena3)) {
System.out.println("Las cadenas son Iguales");
} else {
System.out.println("Las cadenas no son Iguales");
}
System.out.println("---------------------Equals-------------");
System.out.println("Comparando entre " + cadena1 + " y " + cadena2 );
if (cadena1.equals(cadena2)) {
System.out.println("Las cadenas son Iguales");
} else {
System.out.println("Las cadenas no son Iguales");
}
}
public static void metodoCompareTo(String cadena1, String cadena2, String cadena3){
System.out.println("-------------------CompareTo---------------");
System.out.println("Comparando entre " + cadena1 + " y " + cadena3 );
if (cadena1.compareTo(cadena3)<0) {
System.out.println("La cadena 1 " + cadena1 + " es Mayor que cadena 3 " + cadena3 );
} else {
if (cadena1.compareTo(cadena3)>0) {
System.out.println("La cadena 1 " + cadena1 + " es Menor que cadena 3 " + cadena3 );
} else {
System.out.println("La cadena 1 " + cadena1 + " y cadena 3 " + cadena3 + " son iguales");
}
}
System.out.println("-------------------compareTo---------------");
System.out.println("Comparando entre " + cadena1 + " y " + cadena2 );
if (cadena1.compareTo(cadena2)<0) {
System.out.println("La cadena 1 " + cadena1 + " es Mayor que cadena 2 " + cadena2 );
} else {
if (cadena1.compareTo(cadena2)>0) {
System.out.println("La cadena 1 " + cadena1 + " es Menor que cadena 2 " + cadena2 );
} else {
System.out.println("La cadena 1 " + cadena1 + " y cadena 2 " + cadena2 + " son iguales");
}
}
}
public static void metodoValueOf(String cadena6){
double numeroDecimal = 15.76;
int numeroEntero = 307484;
System.out.println("------------------------ValueOf----------");
System.out.println("Convertir numero a una cadena");
cadena6 = String.valueOf(numeroDecimal);
System.out.println("El numero es " + numeroDecimal );
System.out.println("En cadena es " + cadena6);
cadena6 = String.valueOf(numeroEntero);
System.out.println("El numero es " + numeroEntero );
System.out.println("En cadena es " + cadena6);
}
public static void metodoToCharArray(String cadena6, char cadenaDeChars[]){
double numeroDecimal = 15.76;
int numeroEntero = 307484;
System.out.println("----------------ToCharArray----------");
System.out.println("Convertir numero a una cadena y mostrar la cadena");
cadena6 = String.valueOf(numeroDecimal);
System.out.println("El numero es " + numeroDecimal );
System.out.println("En cadena es " + cadena6);
cadenaDeChars = cadena6.toCharArray();
System.out.println("Tinene " + cadenaDeChars.length + " posiciones");
for (int i = 0; i < cadenaDeChars.length; i++) {
System.out.println("Posicion [" + i + "] : " + cadenaDeChars[i]);
}
cadena6 = String.valueOf(numeroEntero);
System.out.println("El numero es " + numeroEntero );
System.out.println("En cadena es " + cadena6);
cadenaDeChars = cadena6.toCharArray();
System.out.println("Tinene " + cadenaDeChars.length + " posiciones");
for (int i = 0; i < cadenaDeChars.length; i++) {
System.out.println("Posicion [" + i + "] : " + cadenaDeChars[i]);
}
}
public static void metodoLength(String cadena1, String cadena3, String cadena5, String cadena6){
System.out.println("---------------Length()---------");
System.out.println(" mostrar longitud de la cadena");
System.out.println("La cadena 1 es de " + cadena1.length() + " Posiciones");
System.out.println("La cadena 3 es de " + cadena3.length() + " Posiciones");
System.out.println("La cadena 5 es de " + cadena5.length() + " Posiciones");
System.out.println("La cadena 6 es de " + cadena6.length() + " Posiciones");
}
public static void metodoConcat(String cadena1, String cadena2){
System.out.println("---------------Concat()---------");
System.out.println("-------------- concatena cadenas----------");
System.out.println("Se va a juntar cadena 1 " + cadena1 + " mas la cadena 2 " + cadena2);
System.out.println("La cadena 1 quedara " + cadena1.concat(cadena2));
}
public static void metodoCharAt(String cadena1, String cadena2){
System.out.println("---------------CharAt()---------");
System.out.println("------Nos devuelve el carácter ubicado en la posición indicada en indice.----------");
System.out.println("Sacar el valor de la posicion 3");
char charAt = cadena1.charAt(3);
System.out.println(charAt);
}
public static void metodoSubstring(String cadena7){
System.out.println("---------------Substring()---------");
System.out.println("---Muestra la subcadena ubicada entre el Ãndice “desdeâ€� hasta el “hasta-1â€�---------");
System.out.println("La cadena es: " + cadena7);
System.out.println("La cadena queda: " + cadena7.substring(3, 19));
}
public static void metodoIndexOf(String cadena7){
System.out.println("---------------IndexOf()---------");
System.out.println("----Muestra la posición (Ãndice) de un carácter en una cadena.----");
System.out.println(cadena7);
System.out.println("La primera 'e' esta en la posicion");
System.out.println(cadena7.indexOf('e'));
}
public static void metodoLastIndexOf(String cadena7){
System.out.println("---------------LastIndexOf()---------");
System.out.println("------Como indexOf pero comenzando la búsqueda por atrás-----");
System.out.println(cadena7);
System.out.println("La ultima 'e' esta en la posicion");
System.out.println(cadena7.lastIndexOf('e'));
}
public static void metodoEndsWith(String cadena7){
System.out.println("---------------EndsWith()---------");
System.out.println("-------Devuelve true si la cadena termina con el texto indicado-------");
System.out.println("El final de la cadena es: ¿pueblo?");
System.out.println(cadena7.endsWith("pueblo"));
System.out.println("El final de la cadena es: ¿ciudad?");
System.out.println(cadena7.endsWith("ciudad"));
}
public static void metodoStartsWith(String cadena7){
System.out.println("---------------StartsWith()---------");
System.out.println("-----Devuelve true si la cadena comienza por el texto indicado--------");
System.out.println("El principio de la cadena es: ¿Hoy?");
System.out.println(cadena7.startsWith("Hoy"));
System.out.println("El principio de la cadena es: ¿Ayer?");
System.out.println(cadena7.startsWith("Ayer"));
}
public static void metodoReplace(String cadena7){
System.out.println("---------------Replace()---------");
System.out.println("-------Sustituye las apariciones del carácter1 por carácter2------");
System.out.println(cadena7);
System.out.println("Se va a cambiar las 'e' por 'o' en la cadena");
System.out.println(cadena7.replace('e', 'o'));
}
public static void metodoReplaceAll(String cadena7, String cadena2){
System.out.println("---------------ReplaceAll()---------");
System.out.println("----Sustituye las apariciones de la cadena1 por cadena2-------");
System.out.println(cadena7);
System.out.println("Se va a cambiar la cadena 7 por lo que contiene la cadena 2");
System.out.println(cadena7.replaceAll(cadena7, cadena2));
}
public static void metodoToUpperCase(String cadena7){
System.out.println("---------------ToUpperCase()---------");
System.out.println("-----Devuelve la misma cadena convertida a mayúsculas-----");
System.out.println(cadena7);
System.out.println(cadena7.toUpperCase());
}
public static void metodoToLowerCase(String cadena7){
System.out.println("---------------ToLowerCase()---------");
System.out.println("------Devuelve la misma cadena convertida a minúsculas--------");
System.out.println(cadena7);
System.out.println(cadena7.toLowerCase());
}
public static void metodoSplit(String cadena8, String resultado[]){
System.out.println("---------------Split()---------");
System.out.println("------Divide una cadena en partes según un patrón-------");
System.out.println(cadena8);
resultado = cadena8.split(";");
for (int i = 0; i < resultado.length; i++) {
System.out.println("en la posicion " + i + " contiene " + resultado[i]);
}
}
public static void main(String[] args) {
// TODO code application logic here
String cadena1 = new String("pedro");
String cadena2 = new String("maria");
String cadena3 = new String("pedro");
String cadena4 = new String("MaRia");
String cadena5 = new String("morgulh");
String cadena7 = new String("Hoy hace mucho frio en este pueblo");
String cadena8 = new String("Hoy; hace mucho frio; en este pueblo");
String [] resultado = new String[6];
String cadena6 = new String("");
char [] cadenaDeChars = new char[10];
metodoEquals(cadena1, cadena2, cadena3);
metodoCompareTo(cadena1, cadena2, cadena3);
metodoValueOf(cadena6);
metodoToCharArray(cadena6, cadenaDeChars);
metodoLength(cadena1, cadena3, cadena5, cadena6);
metodoConcat(cadena1, cadena2);
metodoCharAt(cadena1, cadena2);
metodoSubstring(cadena7);
metodoIndexOf(cadena7);
metodoLastIndexOf(cadena7);
metodoEndsWith(cadena7);
metodoStartsWith(cadena7);
metodoReplace(cadena7);
metodoReplaceAll(cadena7, cadena2);
metodoToUpperCase(cadena7);
metodoToLowerCase(cadena7);
metodoSplit(cadena8, resultado);
}
}
-----------------------------------------------------------------------------------------------------------------------------
Escriba un programa que lea un NIF y compruebe que su letra es correcta, es decir, la letra introducida por el usuario
se corresponde con la calculada. Algoritmo para el cálculo del NIF:
Calcule el Módulo de 23 (resto de la división) del número del DNI
public class EjercicioObligatorios07 {
public static void rellenarTablaDni(char [] tablaDni){
tablaDni[0] = 'T';
tablaDni[1] = 'R';
tablaDni[2] = 'W';
tablaDni[3] = 'A';
tablaDni[4] = 'G';
tablaDni[5] = 'M';
tablaDni[6] = 'Y';
tablaDni[7] = 'F';
tablaDni[8] = 'P';
tablaDni[9] = 'D';
tablaDni[10] = 'X';
tablaDni[11] = 'B';
tablaDni[12] = 'N';
tablaDni[13] = 'J';
tablaDni[14] = 'Z';
tablaDni[15] = 'S';
tablaDni[16] = 'Q';
tablaDni[17] = 'V';
tablaDni[18] = 'H';
tablaDni[19] = 'L';
tablaDni[20] = 'C';
tablaDni[21] = 'K';
tablaDni[22] = 'E';
}
public static String pedirDNI(){
Scanner teclado = new Scanner(System.in);
String dni;
System.out.println("Introduce tu DNI");
dni = teclado.nextLine();
return dni;
}
public static void comprobarLetra(char[] tablaDni, String cadenaDni){
char letraDni;
String numeroDni;
int numeroSinLetra;
int resto;
int contador=0;
letraDni = cadenaDni.charAt(8);
//System.out.println(letraDni);
numeroDni = cadenaDni.substring(0, 8);
numeroSinLetra = Integer.parseInt(numeroDni);
//System.out.println(numeroSinLetra);
resto = numeroSinLetra % 23;
//System.out.println(resto);
for (int i = 0; i < tablaDni.length; i++) {
//System.out.println(tablaDni[i]);
if (( i == resto ) && (letraDni == tablaDni[i])) {
contador=1;
}
}
if (contador ==1) {
System.out.println("El DNI es Valido");
} else{
System.out.println("El DNI no es valido");
}
}
public static void main(String[] args) {
// TODO code application logic here
char[] tablaDni = new char[23];
rellenarTablaDni(tablaDni);
String cadenaDni = new String(pedirDNI());
comprobarLetra(tablaDni, cadenaDni);
}
}
Valora esta pregunta


0