Ordenamiento de cadenas con Java I/O
Viruz Blog :: Programación en General :: Java :: Básicos
Página 1 de 1.
Ordenamiento de cadenas con Java I/O
Hola que tal amigos de Viruz Blog el día de hoy tenemos 3 temas interesantes en un sencillo programa, el cual ustedes podrán apreciar un ordenamiento de cadenas y con esto se retoca el tema del paquete de java.io con sus clases BufferedReader e InputStreamReader. Los temas que se abarcarán son los siguientes:
Autor: Viruz
Enlace: Ordenamiento de cadenas con Java I/O
- Métodos estáticos.
- Ordenamiento de cadena en Burbuja.
- Evaluación y comprobación de letras, números y caracteres especiales.
Lo que se necesita conocerSe cargan en memoria en tiempo de compilación y no a medida de que se ejecutan las líneas de código del programa. Van precedidos del modificador static. Para invocar a un método estático no se necesita crear un objeto de la clase en la que se define.
Si se invoca desde la clase en la que se encuentra definido, basta con escribir su nombre.Si se le invoca desde una clase distinta, debe anteponerse a su nombre, el de la clase en la que se encuentra seguido del operador punto (.)
- Lectura y escritura de archivos con Java I/O
- Cálculo de áreas con Java I/O
- Método de la Burbuja
- Empezando por la clase Main tenemos la lectura de una cadena en la cual la clase Leer tiene un método estático leer() y apreciaremos con ejemplos anteriores el procedimiento de lectura con readLine() pero tendremos un nuevo método skip() el cual se le pasa como parámetro el número de caracteres que se van a saltar.
- Regresando a la clase Main hacemos el llamado de 3 métodos de la clase Cadena.
- Empezando con el método letrasYnumeros() en este se evaluarán todos aquellos caracteres que no sean ni números ni letras y en un contador se acumularán. El segundo método evaluar() es aquí donde mediante unos if() podemos averiguar si son de tipo letra o número para que al final se puedan imprimir.
- El último método es el mas complicado ordenar() ya que mediante ciclos for() realizando un arreglo y un ciclo if() haremos el ordenamiento de caracteres que va de la siguiente forma:
- Caracteres especiales.
- Números.
- Letras mayúsculas.
- Letras minúsculas.
/**
*
* @author Viruz
*/
public class Main {
public static void main(String []Args) {
System.out.println("Digite una Nueva Cadena: ");
String cad2 = Leer.leer();
Cadenas.letrasYnumeros(cad2);
Cadenas.evaluar(cad2);
Cadenas.ordenar(cad2);
}
}
Clase Leer
/**
*
* @author Jesus Ivan
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Leer {
public static InputStreamReader isr=new InputStreamReader(System.in);
public static BufferedReader br=new BufferedReader(isr);
public static String leer() {
String Dato=" ";
try {
Dato= br.readLine();
br.skip(System.in.available());
} catch ( IOException Err ) {
}
return Dato;
}
}
Clase Cadenas
/**
*
* @author Jesus Ivan
*/
public class Cadenas {
static int cantespeciales = 0;
public Cadenas() {
}
public static void letrasYnumeros(String cad) {
String nc="";
for (int i=0; i<cad.length(); i++) {
//El if verifica que entre en el rango de letras o números
if ((cad.charAt(i)>= 'a' & cad.charAt(i)<='z' | cad.charAt(i)>= 'A' & cad.charAt(i)<='Z' | cad.charAt(i)>= '0' & cad.charAt(i)<='9')!=true) {
cantespeciales++;
nc=nc+'?';
} else
nc=nc+cad.charAt(i);
}
System.out.println("Lo q no es letra ni número se reemplaza por el simbolo (?) : "+nc);
}
public static void evaluar(String cad) {
int cantletras=0,cantnums=0;
for (int i=0; i<cad.length(); i++) {
//Se comprueba si es Letra y se suman
if ((cad.charAt(i)>= 'a' && cad.charAt(i)<='z')||(cad.charAt(i)>= 'A' && cad.charAt(i)<='Z'))
cantletras++;
//Se comprueba si es Número
else if (cad.charAt(i)>= '0' && cad.charAt(i)<='9')
cantnums++;
}
System.out.println("Cantidad de Letras: "+cantletras);
System.out.println("Cantidad de Números: "+cantnums);
System.out.println("Cantidad de Caracteres Especiales: "+cantespeciales);
}
public static void ordenar(String cad) {
int i,j;
char nc[]= new char [cad.length()+1];
for ( i=0; i<cad.length(); i++)
nc[i]=cad.charAt(i);
for (i=0; i<cad.length(); i++) {
for (j=i+1; j<cad.length(); j++) {
if (nc[i]> nc[j]) {
char aux=nc[i];
nc[i]= nc[j];
nc[j]=aux;
}
}
}
System.out.print("Cadena Ordenda: ");
for (i=0; i<cad.length(); i++)
System.out.print(nc[i]);
System.out.println("");
}
}
Descarga el código
Ordenamiento de cadenas con java.io
Ordenamiento de cadenas con java.io
Autor: Viruz
Enlace: Ordenamiento de cadenas con Java I/O
Temas similares
» Métodos de ordenamiento
» Cálculo de áreas con Java I/O
» Lectura y escritura de archivos con Java I/O
» Cálculo de áreas con Java I/O
» Lectura y escritura de archivos con Java I/O
Viruz Blog :: Programación en General :: Java :: Básicos
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|