Ando muy molesto pues yebo días con la misma tarea y no la he podido terminar, se trata de crear un vector que contenga caracteres, esa parte ya la hice, pero el problema es que necesito crear un nuevo vector que contenga solo caracteres que no se repitan pero sin utilizar ningún método, solo iteraciones y dem{as, ejemplo: vector1=a n i t a l a v a l a t i na vector2= a n i t l v ayudenme porfavor! Que ya estoy cansado de intentarlo y no me sale
Respuesta de alejosoft
1
1
alejosoft, 3 años de experiencia como Ingeniero de Sistemas, I speak English...
He creado un ejemplo para responder tu pregunta: public class EliminarRepetidos { public static void main(String [] args){ char [] vector1 = new char [] {'a','n','i','t','a','l','a','v','a','l','a','t','i','n','a'}; // el vector donde guardaremos el resultado char [] vector2 = new char [] {}; int i; // recorremos el vector 1 for( i = 0; i<vector1.length; i++){ // variable donde almacenamos el caracter que estamos buscando // para saber si esta repetido. char caracterBuscado = vector1; // bandera para saber si el caracter buscado ya existe en el // vector de resultado, osea vector2, incialmente asumimos // que el caracter no existe... eres inocente hasta que te sea // encontrado culpable, jejeje boolean caracterYaExiste = false; int j; // recorremos el vector 2, para buscar nuestro caracter sospechoso for(j = 0; j<vector2.length; j++){ // si efecticamente nuestro caracter buscado es encontrado if ( vector2[j] == caracterBuscado ){ // cambiamos nuestra bandera a true, nuestro sospechoso // es culpable. caracterYaExiste = true; // terminamos la busqueda de ese caracter break; } } // Si al terminar la búsqueda nuestra bandera sigue siendo falsa, // significa que nuestro carácter no existe en el vector2 y puede // ser agregado al vector de resultado, osea vector 2 if ( caracterYaExiste == false ){ // creamos un vector temporal, una posicion mas grande que vector 2 // ya que vamos a agregar un nuevo caracter y necesitamos hacer // espacio para el. char [] vectorTemp = new char [vector2.length + 1]; // copiamos caracter por caracter el contenido de vector2 a vectorTemp for(j = 0; j<vector2.length; j++){ vectorTemp[j] = vector2[j]; } // finalmente llenamos la ultima posicion del vectorTemp con // nuestro nuevo caracter no repetido vectorTemp[j] = caracterBuscado; // Y por ultimo reemplazamos la instancia del vector2 con nuestro // mas grande vectorTemp. De esta forma aseguramos que vector2 // esta actualizado con el nuevo caracter agregado vector2 = vectorTemp; } } // lo siguiente es solo para poder ver el resultado String res = "["; for( i = 0; i<vector2.length - 1; i++){ res += vector2 + ","; } res += vector2 + "]"; // mostramos el resultado por la consola System.out.println(res); } }
Daniel1869, ¿Qué te paso mano? Te escribí en la otra pregunta para que te dieras cuenta que ya te respondí la pregunta... ¿acaso no viste esta? Por favor se justo y finaliza esta respuesta... si algo no te gusta de la respuesta o no entiendes algo, preguntame y con gusto te responderé.
Mm... psss... al final pude hacerlo, sin necesidad de ver tu código, este es mi código: public void encriptar(Palindroma p){ int conta,i,oCont,j=0,k,z=0; for(i=0;i<p.palabra.length;i++){ conta=0; oCont=0; palabraAux[j]=p.palabra; j++; for (k=0;k<p.palabra.length;k++){ if(palabraAux[k]==p.palabra){ conta++; } if(p.palabra==p.palabra [k]) oCont++; } if(conta==1){ encriptar[z]=p.palabra; cont[z]=oCont; System.out.print(encriptado[z]=cont[z]+i); z++; } } }