Manejo de cadenas en Java

/* Lectura de palabras y frases con verificación de palindromía, eliminación de blancos de frases, y borrado e inserción de subcadenas en cadenas */

import java.util.Scanner;

/*
* @author RLR
*/

public class Cadenas
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
Scanner sc=new Scanner(System.in);
String x,y;

System.out.print(“Dame una palabra: “);
x=sc.next();
y=sc.nextLine(); //Lectura para limpiar el buffer de teclado
if(palindromo(x))
System.out.println(“La palabra ” + x + ” ES palindromo\n”);
else System.out.println(“La palabra ” + x + ” NO es palindromo\n”);

System.out.print(“\nDame ahora una frase: “);
x=sc.nextLine();
if(palindromo(quitarBlancos(x)))
System.out.println(“La frase, ” + x + “, ES palindromo\n”);
else System.out.println(“La frase, ” + x + “, NO es palindromo\n”);

System.out.print(“\nDame ahora una frase: “);
x=sc.nextLine();
System.out.print(“Dame una string a buscar en esa frase: “);
y=sc.nextLine();
String z = filtrar(x,y);
System.out.println(“La frase filtrada es: ” + z);
z=quitarBlancos(z);

System.out.print(“\nDame la string a pegar en los huecos: “);
String z1=sc.nextLine();
z = filtrarCambiar(x,y,z1);
System.out.println(“La nueva frase es: ” + z);
z=quitarBlancos(z);

System.out.println(“\n\nPulsa Tecla+Return para acabar.\n”);
String FIN=sc.next();
}

public static boolean palindromo(String cad)
{
int lon=cad.length();

for(int i=0; i<lon/2; i++)
if(cad.charAt(i)!=cad.charAt(lon-i-1)) return false;

return true;
}

public static String quitarBlancos(String cad)
{
int lon=cad.length();
StringBuffer cad1 = new StringBuffer(cad);

int j=0;
for(int i=0; i<lon; i++)
if(cad.charAt(i)!=’ ‘)
{
cad1.setCharAt(j,cad.charAt(i));
j++;
}
cad1.setLength(j);

System.out.println(“FRASE NUEVA SIN BLANCOS: \”” + cad1 + “\” “);

return (new String(cad1));
}

public static String filtrar(String cad, String cad1)
{
StringBuffer cad2 = new StringBuffer(cad);
int lon=cad.length();
int lon1=cad1.length();

if(cad.indexOf(cad1)==-1)
return (new String(cad2));

int j=0;
int k=cad.indexOf(cad1,0);
for(int i=0; i=k && i<(k+lon1))continue;
else
{
cad2.setCharAt(j,cad.charAt(i));
j++;
}
}
cad2.setLength(j);

return (new String(cad2));
}

public static String filtrarCambiar(String cad, String cad1, String cadNew)
{
StringBuffer cad2 = new StringBuffer(cad);
int lon=cad.length();
int lon1=cad1.length();
int lonNew=cadNew.length();
cad2.setLength(lon*lonNew);

if(cad.indexOf(cad1)==-1)
return (new String(cad2));

int i,j=0;
int k=cad.indexOf(cad1,0);
for(i=0; i<lon; i++)
{
if(i==(k+lon1))
{
k=cad.indexOf(cad1,k+lon1);
for(int m=0;m=k && i<(k+lon1))continue;
else
{
cad2.setCharAt(j,cad.charAt(i));
j++;
}
}

if(i==(k+lon1))
for(int m=0;m<lonNew;m++)
{
cad2.setCharAt(j,cadNew.charAt(m));
j++;
}

cad2.setLength(j);

return (new String(cad2));
}

}

Esta entrada fue publicada en Ciencia y programación. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s