Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Cabanota

Páginas: 1 [2]
21
Hola colegas. Estaba practicando sobre los ArrayList. Reutilice código para experimentar, para ver como funcionaban los métodos de la clase ArrayList y para hacer algo mas o menos diferente. Cree una clase donde tengo los métodos y otra donde esta el método main, que son las siguientes:

Clase con métodos.
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ListaNombres here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class ListaNombres{
    private String nombreDeLaLista;
    private ArrayList<String> listaDeNombres;
   
    public ListaNombres(String nombreDeLaLista){
        this.nombreDeLaLista = nombreDeLaLista;
        listaDeNombres = new ArrayList<String>();
    }
   
    public void addNombre(String nombre){
        listaDeNombres.add(nombre);
    }
   
    public String getNombreABuscar(int i){
        if(i >= 0 && i < listaDeNombres.size()){
            return listaDeNombres.get(i);
        }else{
            return "No se encuentra el nombre";
        }
    }
   
    public int getTamaño(){
        return listaDeNombres.size();
    }
   
    public void removerNombre(int i){
        if(i >= 0 && i < listaDeNombres.size()){
            listaDeNombres.remove(i);
        }else{
            System.out.println("Este nombre no existe.");
        }
    }
   
    public ArrayList<String> getListaDeNombres(){
        return listaDeNombres;
    }
}

Metodo main.
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class TestListaNombres here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class TestListaNombres{
   
    public TestListaNombres(){
    }
   
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        ListaNombres listNombres = new ListaNombres("Amigos");
       
        System.out.print("¿Cuantos nombres desea ingresar?: ");
        int numIngresos = sc.nextInt();
       
        for(int i = 0; i < numIngresos; i++){
            System.out.print("Ingresas nombre numero " + (i+1) + ": ");
            String nom = sc.nextLine();
            listNombres.addNombre(nom);
        }
       
        System.out.println("En estos momentos en tamaño de su lista de nombre es de: " + listNombres.getTamaño());
       
   System.out.print(listNombres.getListaDeNombres());
    }
}

En la clase: TestListaNombres. Mi intención era agregar mas cosas, con la intención de utilizar todos los métodos de la otra clase, pero a medida que voy creando lo que hago lo voy probando. Y aquí es donde viene mi duda. Resulta, que en el programa, yo le pregunto al usuario cuantos nombres deseea agregar, haasta ahi todo bien. La cuestion viene despues, que cuando el programa entra en el for, para agregar nombre por nombre sucede algo extraño, que es esto:

Prueba de escritorio.

¿Cuantos nombres desea ingresar?: 3
Ingresas nombre numero 1: Ingresas nombre numero 2: nombre1
Ingresas nombre numero 3: nombre1
En estos momentos en tamaño de su lista de nombre es de: 3
[, nombre1, nombre1]


Cuando el usuario ingresa la cantidad de nombres (en este caso 3), cuando el programa procede a ingresar los nombres a guardar el la lista, no me deja ingresar el nombre numero 1, si no que de una me imprime para ingresar el nombre numero 2. y asi sucesivamente. Hice una prueba para que me mostrata por consola los nombre que tengo en mi lista. y preciso, en la lista, en mi posicion numero 0 (get(0)) aparece el dato como vacio y las otras posiciones si almacena su dato normalmente.

Intente arreglarlo de varias maneras, busque como solucionarlo y me di por vencido. Por eso recurro a ustedes, para ver si puede ayudarme, ya que no quiero quedar con la duda y la incertidumbre del por que ocurre esto.
Espero y me haya sabido explicar y puedan ayudarme. Estaría muy agradecido. De ante mano  muchas gracias.

22
Hola comunidad.
Esta fue la solución que pude darle al ejercicio de este tema. Fue la manera como pude solucionar, cualquier sugerencia estaría dispuesto a leerla y aprender mas de ustedes.
aquí mi solución al ejercicio:
Código: [Seleccionar]
import java.util.Scanner;
/**
 * Write a description of class TestComparacionLetra here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class TestComparacionLetra{
   
    public TestComparacionLetra(){
    }
   
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
       
        System.out.print("Primera palabra: ");
        String p1 = sc.nextLine();
        System.out.print("Segunda palabra: ");
        String p2 = sc.nextLine();
       
        if(p1.length() >= p2.length()){
            int aux = 0;
           
            while(aux < p2.length()){
               if(p1.substring(aux, aux+1).equals(p2.substring(aux, aux+1))){
                    System.out.println("¿Letra " + (aux+1) + " es igual en las dos palabras?: True");
               }else{
                    System.out.println("¿Letra " + (aux+1) + " es igual en las dos palabras?: False");
               }
               aux++;
            }
           
            while(aux < p1.length()){
            System.out.println("¿Letra " + (aux+1) + " es igual en las dos palabras?: La palabra 2 no tiene letra " + (aux+1));
            aux++;
           }
        }else{
            int aux = 0;
           
            while(aux < p1.length()){
               if(p1.substring(aux, aux+1).equals(p2.substring(aux, aux+1))){
                    System.out.println("¿Letra " + (aux+1) + " es igual en las dos palabras?: True");
               }else{
                    System.out.println("¿Letra " + (aux+1) + " es igual en las dos palabras?: False");
               }
               aux++;
            }
           
            while(aux < p2.length()){
            System.out.println("¿Letra " + (aux+1) + " es igual en las dos palabras?: La palabra 1 no tiene letra " + (aux+1));
            aux++;
           }
        }
    }
}

El ejemplo que colocan muestra que la primera palabra a ingresar es: avispa y la segunda es: ave. Quiere decir que la palabra 1 tiene mayor longitud que la palabra 2. Ahora, y si la palabra 2 tiene mayor longitud como seria? Bueno, yo también le di solución a eso. No se si el ejercicio lo pide, pero quise hacerlo que el usuario ingrese las cadenas de la longitud que desee en cualquiera de las dos. Espero y me este haciendo entender. jejeje.. Es que de pronto a su parecer pueden encontrar unos if de mas y me quise tomar el trabajo de explicar esa parte jeje.. Aquí les dejare una muestra de la prueba de escritorio, dándome a entender un poco mas acerca de esto:


Primera palabra: avispa
Segunda palabra: ave
¿Letra 1 es igual en las dos palabras?: True
¿Letra 2 es igual en las dos palabras?: True
¿Letra 3 es igual en las dos palabras?: False
¿Letra 4 es igual en las dos palabras?: La palabra 2 no tiene letra 4
¿Letra 5 es igual en las dos palabras?: La palabra 2 no tiene letra 5
¿Letra 6 es igual en las dos palabras?: La palabra 2 no tiene letra 6
Primera palabra: ave
Segunda palabra: avispa
¿Letra 1 es igual en las dos palabras?: True
¿Letra 2 es igual en las dos palabras?: True
¿Letra 3 es igual en las dos palabras?: False
¿Letra 4 es igual en las dos palabras?: La palabra 1 no tiene letra 4
¿Letra 5 es igual en las dos palabras?: La palabra 1 no tiene letra 5
¿Letra 6 es igual en las dos palabras?: La palabra 1 no tiene letra 6

23
Hola. :) Esta fue mi solución al ejercicio planteado en este tema. Cualquier sugerencia es bienvenida para mi. Quiero aprender y cualquier sugerencia o cualquier comentario sera recibido de gran manera. De ante mano, muchas gracias.

Código: [Seleccionar]
import java.util.Scanner;
/**
 * Write a description of class TextFor here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class TextFor{
   
    public TextFor(){
    }
   
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Inserte su cadena de texto: ");
        String texto = sc.nextLine();
       
        for(int i = 0; i < texto.length(); i++){
            System.out.println("Letra "+ (i+1) +": " + texto.substring(i,i+1));
        }
       
    }
}

Saludos.

24
Muchas gracias por sus anotaciones. Ciertamente no había comprendido bien el enunciado.. Que falla,, jejejeje.. Supongo que es una falla de un principiante en este mundo de la programación. He anotado sus correcciones y decidí corregir de la siguiente manera. De ante mano muchas gracias y si tienen alguna u otra anotación para mejorar mi proceso sera bien recibida.

Código: [Seleccionar]
import java.util.Scanner;
/**
 * Write a description of class TextEjemplo here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */

public class TestEjemplo{
   
    public TestEjemplo(){
    }

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Digite su texto: ");
        String texto = sc.nextLine();
       
        if (texto.length() < 5){
            if(texto.substring(0,1).equalsIgnoreCase("a")){
                System.out.println("La cadena introducida tiene menos de 5 caracteres y comienza por \"" + texto.substring(0,1) + "\"");
            }else{
                System.out.println("La cadena introducida tiene menos de 5 caracteres y no comienza por \"a\"");
            }
        }else if(texto.length() > 4 && texto.length() < 16){
                if(texto.substring(0,1).equalsIgnoreCase("a")){
                    System.out.println("La cadena introducida esta entre 5 y 15 caracteres y comienza por \"" + texto.substring(0,1) + "\"");
                }else{
                    System.out.println("La cadena introducida esta entre 5 y 15 caracteres y no comienza por \"a\"");
                }
        }else{
            if(texto.substring(0,1).equalsIgnoreCase("a")){
                    System.out.println("La cadena introducida tiene mas de 15 caracteres y comienza por \"" + texto.substring(0,1) + "\"");
            }else{
                    System.out.println("La cadena introducida tiene mas de 15 caracteres y no comienza por \"a\"");
            }
       
        }
    }
}

25
Una sugerencia ahí, analizando los códigos jeje..
Podrían ahorrarse un trabajo extra que tienen allí si utilizan este método de la clase String, por ejemplo: 
if(contadorDeLetras<5 && primeraLetra.equalsIgnoreCase("a"))...

con ese: .equalsIgnoreCase("a"),, ignora  cual sea el caso, ya sea "a" o sea "A".. con ese método te ahorras trabajo.

Saludos.

26
Buenas.
Esta fue mi solución a este ejercicio. Estuve mirando algunos métodos de la clase String y quise aplicarlos. Espero sugerencias. De ante mano, muchas gracias.


Código: [Seleccionar]
import java.util.Scanner;
/**
 * Write a description of class TestDeposito here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class TestDeposito{
   
    public TestDeposito(){
    }

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Digite su texto: ");
        String texto = sc.nextLine();
       
        if (texto.length() > 4 && texto.length() < 16){
            if(texto.substring(0,1).equalsIgnoreCase("a")){
                System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y comienza por a");
            }else{
                System.out.println("La cadena introducida tiene entre 5 y 15 caracteres y no comienza por a");
            }
        }else{
            if(texto.substring(0,1).equalsIgnoreCase("a")){
                System.out.println("La cadena introducida no esta entre 5 y 15 caracteres y comienza por a");
            }else{
                System.out.println("La cadena introducida no esta entre 5 y 15 caracteres y no comienza por a");
            }
        }
    }
}

Páginas: 1 [2]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".