You are on page 1of 6

Arreglos de Cadenas de Caracteres

Se pueden construir arreglos de cadenas de caracteres, ejemplo:



// Declarar un arreglo de cadena de caracteres e inicializarlo al mismo tiempo
String names[] = {Carmen, Juan, Pedro, Maria}

// Declarar un arreglo de cadena de caracteres e inicializarlo despus
String names[] = new String [4];

Names[0] =Carmen;
Names[1] =Juan;
Names[2] =Pedro;
Names[3] =Maria;

Tambin se puede declarar un arreglo de cadena de caracteres y luego leer los elementos
uno a uno.


Ejemplo 1:

//Leer un arreglo de cadenas, y por cada una de ellas desplegar el nmero de vocales
que contiene

import java.io.*;


class cadenas1 {

String cad[] = new String[10];

void leer(int n) throws IOException{
BufferedReader b;
b= new BufferedReader(new InputStreamReader(System.in));

for (int i=0; i<n; i++) {
System.out.println(Ingrese una cadena );
cad[i] = b.readLine();
}
}









int numVocales(String c){
int cont=0;
for (int i=0; i< c.length(); i++)
if (c.charAt(i)== 'a' || c.charAt(i)== 'e' || c.charAt(i)== 'i' || c.charAt(i)==
'o'|| c.charAt(i)== 'u' )
cont++;
return cont;
}

void imprimir(int n){
System.out.println("Los cadenas son: ");
for (int i=0; i<n; i++)
System.out.println(cad[i]+ " tiene "+ numVocales(cad[i])+ " vocales");
}

}


//Clase Ejecutable

import java.io.*;

public class EjecutaCadena1 {

public static void main(String[] args) throws IOException {

cadenas1 obj = new cadenas1();

obj.leer(5);
obj.imprimir(5);
}
}

















EJEMPLOS:


1.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Cadenas1 {
String cad[] = new String[10];

void leer(int n) throws IOException{
BufferedReader b;
b= new BufferedReader(new InputStreamReader(System.in));

for (int i=0; i<n; i++) {
System.out.println("Ingrese una cadena " );
cad[i] = b.readLine();
}
}

void imprimir(int n){

System.out.println("Los cadenas son: ");

for (int i=0; i<n; i++)
System.out.println(cad[i]);
}

String reemplazar(String s, char c1, char c2){
// s=s.replace(c1,c2);
char v[]=new char[10];
v=s.toCharArray();
for(int i=0; i<v.length; i++)
if (v[i]==c1)
v[i]=c2;
s=new String(v);

return s;
}
}








import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class EjecutaCadenas1 {

public static void main(String[] args) throws IOException {
BufferedReader b;
b= new BufferedReader(new InputStreamReader(System.in));

Cadenas1 obj = new Cadenas1();
int n;

System.out.println("Ingrese cuantas cadenas " );
n = Integer.parseInt(b.readLine());
obj.leer(n);
System.out.println("Vector original" );
obj.imprimir(n);

char c1,c2;
System.out.println("Ingrese el primer caracter " );
c1 = b.readLine().charAt(0);

System.out.println("Ingrese el segundo caracter " );
c2 = b.readLine().charAt(0);

String cad2[] = new String[10];
System.out.println("Vector reemplazado" );
for (int i=0; i<n; i++){
cad2[i]=obj.reemplazar(obj.cad[i], c1, c2);
System.out.println(cad2[i]);
}

}


}












2. Probar los siguientes mtodos


BufferedReader b;
b= new BufferedReader(new InputStreamReader(System.in));

String cad[] = new String[10];


for (int i=0; i<5; i++) {
System.out.println("Ingrese una cadena " );
cad[i] = b.readLine();
}




// Contar el nmero de palabras en cada cadena de un vector de
cadenas

int cc[] = new int[10];
int l,cont;
for (int i=0; i<5; i++) {
l=cad[i].length();
cont=1;
for (int j=0; j<l; j++)
if (cad[i].charAt(j)==' ')
cont ++;
cc[i] = cont;
System.out.println("la cadena "+cad[i]+" tiene "+cont +"
palabras" );

}


System.out.println("numero de palabras " );
for (int i=0; i<5; i++)
System.out.println(cad[i]+"\t"+cc[i]);





// Copiar en un vector las palabras terminadas en er, ar o ir
y en otro vector las palabras terminadas en ando o iendo,
luego imprimir los 2 vectores

String cad2[] = new String[10];
String cad3[] = new String[10];

int j=0, k=0;
for (int i=0; i<5; i++) {
if ( cad[i].endsWith("er") || cad[i].endsWith("ar") ||
cad[i].endsWith("ir") ){
cad2[j]=cad[i];
j++;
}




if ( cad[i].endsWith("ando") || cad[i].endsWith("iendo")){
cad3[k]=cad[i];
k++;
}
}

System.out.println("Cadenas ar er ir " );
for (int i=0; i<j; i++)
System.out.println(cad2[i]);

System.out.println("Cadenas ando, iendo " );
for (int i=0; i<k; i++)
System.out.println(cad3[i]);



//Almacenar en un vector el nmero de veces que se repite el
primer carcter de cada cadena de un vector

int ll,cont1;
char aux1;
int v[]= new int[20];
for (int i=0; i<5; i++){
ll=cad[i].length();
cont1=1;
aux1=cad[i].charAt(0);
for (k=1; k<ll; k++)
if (aux1 == cad[i].charAt(k))
cont1 ++;
v[i]=cont1;
}
System.out.println("numero que se repite el primer caracter");

for (int i=0; i<5; i++)
System.out.println(cad[i]+"\t\t"+v[i]);

You might also like