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 - DRANXZ88

Páginas: 1 ... 4 5 6 7 8 [9] 10 11 12 13 14 ... 18
161
Estaba revisando tu código y no me funcionó, me tiraba error.

He visto que creaste un método dentro del main que no es recomendable me refiero a esto.

Código: [Seleccionar]
public void Verificaicon (String entrada){
Cuando vas a crear un método te conviene crear otra clase. Para después poder crear el objeto en el main para utilizar su método.

Ademas declaras una variable varias veces, te conviene declarar arriba como principal para no declarar cada rato la misma variable.

Intenté hacerle alguno cambio para adaptar con el que vos hiciste pero no anduvo por eso le hice un cambio mas profundo en tu método.

Al final creé otra clase a partir de la que tenías vos y le agregué tu método con alguna modificación y quedó así.

Este seria el método main donde crea el objeto y usa su método pasando un parámetro con el objeto recibe el parámetro para comprobar las palabra.

Código: [Seleccionar]
package pruebacu0057cigarzol;

import java.util.Scanner;

public class PruebaCu0057Cigarzol {

    public static void main(String[] args) {
        VerificarPalabra verificar = new VerificarPalabra();
        String entrada = "";
        String Valora = "";
        String Verificaicon = "";
        System.out.println("Por favor asigna una palabra para comenzar el programa:  ");
        Scanner entradaEscaner = new Scanner(System.in);
        entrada = entradaEscaner.nextLine();
        verificar.verificacionLetra(entrada);
       
    }
   
}

Y esta es la clase que verifica la palabra que le pasaste como parámetro. Observación tu código original no lo borré, solo lo puse como comentario para ver la diferencia.

Código: [Seleccionar]
package pruebacu0057cigarzol;

public class VerificarPalabra {

    public VerificarPalabra() {
    }

    public void verificacionLetra(String entrada) {
        String verificacion = "";
        String valora = "";
        if (entrada.length() < 5) { //Comprobación
            verificacion = "tiene menos de 5 caracteres  ";
            /*valora = entrada.substring(0);
            if (valora == "a") {
                System.out.println("La cadena introducida inicia con a" + verificacion);
            } else {
                System.out.println("La cadena introducida NO inicia con a  " + verificacion);
            }*/
        } else if ((entrada.length() >= 5) && (entrada.length() < 15)) { //Comprobación
            verificacion = "tiene entre  5 y 15 caracteres  ";
           /* valora = entrada.substring(0);
            if (valora == "a") {
                System.out.println("La cadena introducida inicia con a" + verificacion);
            } else {
                System.out.println("La cadena introducida NO inicia con a  " + verificacion);
            }*/
        } else if (entrada.length() > 15) { //Comprobación
            verificacion = "tiene mas de 15 caracteres  ";
           /*valora = entrada.substring(0);
            if (valora == "a") {
                System.out.println("La cadena introducida inicia con a" + verificacion);
            } else {
                System.out.println("La cadena introducida NO inicia con a  " + verificacion);
            }*/
        }
        if (entrada.substring(0, 1).equalsIgnoreCase("a")) {
            valora = "comienza por a";
        } else {
            valora = " no comienza por a";
        }
        System.out.println("La cadena introducida  " + verificacion + " caracteres y " + valora + ".");

    }
}

suerte :) :) :) :)

162
Yo me refería que el enunciado mostraba true o false depende de la condición que cumpla ejemplo.
Citar
¿Letra 1 igual en las dos palabras? True.
Ademas decía una parte
Citar
La palabra 2 no tiene letra 4
y en su ejercicios no imprime así si no
Citar
para la letra 6 la palabra 1 no contiene letras
puede que sea detalle nomas.

163
Tu código funciona bien aunque podías agregarle un código para que imprima, pero funciona bien, es un comentario nomas. El código seria así.

Código: [Seleccionar]
for (boolean valor : milista) {
            System.out.print(" "+valor);
        }

164
Ejercicio bien resuelto cumple todo lo que pide el enunciado. :)

165
Hola lo primero que te voy a indicar es que lea este link para saber las regla de como publicar en el foro.

https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Sobre el asunto de tu problema tenes que pegar el enunciado de tu ejercicios para saber qué es lo que quieres programar y qué es lo que hará el programa.

166
Ejercicio CU00908C del curso de programación Java avanzado.

Citar
Crea un programa que cumpla lo indicado a continuación. El programa permitirá jugar a “adivinar un número entero” tantas veces como el usuario desee. En cada ocasión el programa pedirá al usuario el número inicial y el número final de la serie de números entre los que se encontrará el número a adivinar. También preguntará el número de intentos permitidos. En cada intento el número a adivinar será diferente y estará dentro del rango definido por el usuario.

Trás los intentos el programa nos dirá cuantas veces hemos acertado y cuántas veces hemos fallado, los números que eran solución y nos preguntará si queremos volver a jugar.


Clase principal main

Código: [Seleccionar]
package ejercicioscu00908c;

public class EjerciciosCu00908c {

    public static void main(String[] args) {
        EntradaDeTeclado entrada = new EntradaDeTeclado();
        GeneradorNumeroAleatorio numero = new GeneradorNumeroAleatorio();
        int numeroAdivinar;
        int numeroGenerado = 0;
        int acertado = 0;
        int fallado = 0;
        String continuar;

        do {

            System.out.println("Introduce el numero inicial del rango: ");
            entrada.Agregar();
            int numeroInicial = Integer.parseInt(entrada.getEntrada());
            System.out.println("Introduce el numero final del rango: ");
            entrada.Agregar();
            int numeroFinal = Integer.parseInt(entrada.getEntrada());
            System.out.println("Introduce el numero de intentos: ");
            entrada.Agregar();
            int intento = Integer.parseInt(entrada.getEntrada());

            for (int i = 0; i < intento; i++) {
                System.out.println("¿Qué numero estoy pensando? : ");
                entrada.Agregar();
                numeroAdivinar = Integer.parseInt(entrada.getEntrada());
                numeroGenerado = numero.adivinarNumero(numeroInicial, numeroFinal);
                numero.addNumeroGenerado(numeroGenerado);
                if (numeroAdivinar == numeroGenerado) {
                    System.out.println("Has acertado!!");
                    acertado++;
                } else {
                    System.out.println("No has acertado");
                    fallado++;
                }

            }

            System.out.print("Has acertado " + acertado + " veces y has fallado " + fallado + " veces. Eran solución: ");
            numero.listarNumeroGenerado();
            System.out.println("");
            System.out.println("¿Otro valor (s/n)? ");
            numero.vaciarArray();
            fallado = 0;
            acertado = 0;
            entrada.Agregar();
            continuar = entrada.getEntrada();

        } while (continuar.equalsIgnoreCase("s"));

    }
}


Clase entrada de teclado

Código: [Seleccionar]
package ejercicioscu00908c;

import java.util.Scanner;

public class EntradaDeTeclado {

    private String entradaTeclado;
    Scanner sc = new Scanner(System.in);

    public EntradaDeTeclado() {
        entradaTeclado = "";
    }

    public String Agregar() {
        entradaTeclado = sc.nextLine();
        return entradaTeclado;
    }

    public String getEntrada() {
        return entradaTeclado;
    }

}


Clase para gestionar el numero aleatorio

Código: [Seleccionar]
package ejercicioscu00908c;

import java.util.ArrayList;
import java.util.Random;

public class GeneradorNumeroAleatorio {
   
    private ArrayList<Integer> serieAleatoria;
   
    public GeneradorNumeroAleatorio() {
        this.serieAleatoria = new ArrayList<Integer>();
    }
   
    public void addNumeroGenerado(int valorNumero) {
        serieAleatoria.add(valorNumero);
    }
   
    public int adivinarNumero(int numeroInicial, int numeroFinal) {
        Random rnd = new Random();
        int numeroAleatorio = rnd.nextInt(numeroFinal - numeroInicial + 1) + numeroInicial;
       
        return numeroAleatorio;
       
    }
   
    public void listarNumeroGenerado() {
       
        for (Integer serieAleatoria1 : serieAleatoria) {
            System.out.print(serieAleatoria1 + ", ");
        }
       
    }

    public void vaciarArray() {
        for (int i = 0; i < serieAleatoria.size(); i++) {
            serieAleatoria.remove(i);
        }
    }
}

167
Así nomas se aprende, ayudándonos todos. Dividir por clases y crear métodos reutilizables es un objetivo de la programación orientada a objetos saludos y siga adelante.

168
Sí, podes crear una clase donde hay un método que te haga todo lo que hiciste en el main que es comprobar la cantidad de carácter y si empieza por a y como tenemos luego una clase entrada del teclado creado podes utilizar eso para gestionar el teclado. Pero es una opinión nomas esta bien como hace. Yo te digo que divida por clases para estar más familiarizado con la POO.

169
Ejercicio bien resuelto Saludos. :) :) :)

170
Otro ejercicio bien resuelto. Siga así adelante con los otros ejercicios.

171
Ejercicio resuelto muy bien, siga así. Funciona y  cumple todo lo que pide el enunciado. :)

172
El código función super bien, está bien resuelto. Solo alguna sugerencia; si es posible tenes que dividir por clase para que el código sea más orientado a objetos.

Y un comentario sobre tu condición:

Código: [Seleccionar]
if (primeraLetra.equals("a") || primeraLetra.equals("A")){
            comienzaConA = " cominza con la letra a ";
        }

Podías poner así nomas que toma igual si es mayúscula o minúscula es un comentario nomas:

Código: [Seleccionar]
if (primeraLetra.equalsIgnoreCase("a")) {
            comienzaConA = " cominza con la letra a ";
        }

Y comienza, escribiste cominza, solo es una observación. Código bien, saludos  :) :)

173
El código funciona bien. Una recomendación para tener en cuenta, nomas dividir por clase, por ejemplo la entrada del teclado del generador de numero aleatorio. Porque es recomendable que en el main se ponga lo menos posible. Java es un lenguaje orientado a objeto no estructurado por lo que es recomendable que las tareas se repartan entre distintas clases. Como dice el dicho dividí y vencerás saludos.

174
Hola eduardoc hice alguna modificacion en tu codigo para comparar con el tuyo y para darme tu opinion tu codigo que no utilize le puse en comentario nomas.
clase principal main
Código: [Seleccionar]
package ejercicioscu00666eduardoc;

public class EjerciciosCu00666Eduardoc {

    public static void main(String[] args) {
        // Inicio del programa.

        // Crear colección de Lista de cantantes famosos.
        ListaCantantesFamosos listaCantantes = new ListaCantantesFamosos();
        EntradaDeTeclado entrada = new EntradaDeTeclado();
        System.out.println("Inicio del programa");
        listaCantantes.listarCantantes();
        // Agregado de 3 cantantes.
        //listaCantantes.addNombre("Madonna");
        //listaCantantes.addNombre("Sting");
        //listaCantantes.addNombre("Carlos Gardel");

        // Listado de cantantes.
        String auxRespuesta; // auxiliar a usar para salir del do while.

        // Utilizo do while, en vez de while, porque la consigna del ejercicio indica que hay que solicitar al usuario un nuevo ingreso y de este modo se evita una pregunta.
        do {
            // Solicitar un cantante más al usuario.
            //listaCantantes.pedirYAgregarUnCantante();
            System.out.println("Ingrese el Nombre del Cantante. ");
            auxRespuesta = entrada.pedirEntrada();
            listaCantantes.addNombre(entrada.getEntrada());
            // Listado de cantantes.
            listaCantantes.listarCantantes();

            // Consulta si desea seguir ingresando cantantes.
            System.out.println("¿Desea continuar ingresando cantantes famosos?: (S/N)");
            auxRespuesta = entrada.pedirEntrada();
        } while (auxRespuesta.equalsIgnoreCase("S"));
    }

}
clase entrada del teclado
Código: [Seleccionar]
package ejercicioscu00666eduardoc;

import java.util.Scanner;

public class EntradaDeTeclado {

    private String entradaTeclado; //Variable de instancia (campo) de la clase

    // Constructor.
    public EntradaDeTeclado() {
        entradaTeclado = "";
        //pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
    } //Cierre del constructor

    // Función interna de la clase en la que recibe un texto ingresado por teclado del usuario.
    public String pedirEntrada() {  //Método de la clase         
        Scanner entradaEscaner = new Scanner(System.in);
        entradaTeclado = entradaEscaner.nextLine();
        return entradaTeclado;
    }

    // Getter, devuelve el texto ingresado.
    public String getEntrada() {
        return entradaTeclado;
    }

    // Getter devuelve la primer palabra del texto ingresado.
    public String getPrimeraPalabra() {
        for (int i = 0; i < entradaTeclado.length() - 1; i++) {
            if (entradaTeclado.substring(i, i + 1).equals(" ")) {     //IMPORTANTÍSIMO: COMPARAMOS CON EQUALS
                return entradaTeclado.substring(0, i + 1);
            }
        }
        return entradaTeclado;
    }

    // Función, devuelve la longitud (en caracteres) del texto ingresado.
    public int getLongitud() {  //Método de la clase
        return entradaTeclado.length();
    }

}
clase lista cantante famosos
Código: [Seleccionar]
package ejercicioscu00666eduardoc;

import java.util.ArrayList; // clase utilizada para el uso de ArrayList.

public class ListaCantantesFamosos {

    // private String nombreDeLaLista;
    private ArrayList<String> listaCantantesFamosos;

    public ListaCantantesFamosos() {         // Constructor.
        //nombreDeLaLista = nombre;
        this.listaCantantesFamosos = new ArrayList<String>(); // Crea objeto del tipo ArrayList.
        listaCantantesFamosos.add("Madonna");
        listaCantantesFamosos.add("Sting");
        listaCantantesFamosos.add("Carlos Gardel");
    }

    // Agregar elemento a la lista.
    public void addNombre(String valor_nombre) {
        listaCantantesFamosos.add(valor_nombre);

    }

    // Getter tamaño de lista.
    public int getTamannoLista() {
        return listaCantantesFamosos.size();
    }

    //  Getter nombres.
    public String getNombreCantante(int posicion) {
        return listaCantantesFamosos.get(posicion);
    }

    // Listar cantantes, usando un for extendido.
    public void listarCantantes() {
        System.out.println("La lista ha quedado formada por " + this.getTamannoLista() + " elementos");
        int i = 0;
        for (String nombreCantantes : listaCantantesFamosos) {
            System.out.println("Elemento " + (i + 1) + ": " + nombreCantantes);
            i++;
        }
    }

    /*public void pedirYAgregarUnCantante() {
        System.out.println("Por favor, ingrese el nombre de un cantante famoso: ");
        EntradaDeTeclado entrada1 = new EntradaDeTeclado();
        this.addNombre(entrada1.getEntrada());
    }*/

}

175
Esta bien aunque hay otra forma de hacer que sea mas adecuada con lo que estamos haciendo en este curso pero es una opinión  ademas es mas corto y ordenado pero esta bien lo que hace. Por ejemplo vos podía crear el objeto EntradaDeTeclado entrada1 = new EntradaDeTeclado(); en el main nomas y que tu lista cargada podía estar en ListaCantantesFamoso nomas ya es una comentario nomas saludos y siga así. :) :) :)

176
Corrección del ejercicios según tu recomendaciones gracia y esperando sus opiniones.
Código: [Seleccionar]
package ejercicioscu00906c;

public class EjerciciosCu00906c {

    public static void main(String[] args) {
        EntradaDeTeclado entrada = new EntradaDeTeclado();
        String continuar;
        do {
            System.out.println("Introduzca valor de segundos: ");
            entrada.Agregar();
            double segundos = Double.valueOf(entrada.getEntrada());
            double z = (segundos + 1) / 60;
            double minutos = Math.ceil(z);
            int x = (int) (minutos);
            if (segundos < 5400) {
                System.out.println("El minuto es el " + x);

            } else if (segundos == 5400) {
                x = x - 1;
                System.out.println("El minuto es el " + x);

            } else {
                System.out.println("Segundo no es valido ya supera el rango. ");
            }
            System.out.println("¿Otro valor (s/n)? ");
            entrada.Agregar();
            continuar = entrada.getEntrada();
        } while (continuar.equalsIgnoreCase("s"));
    }

}

177
Tu código funciona bien. En forma de comentario nomas se puede usar equalsIgnoreCase("a") también toma igual si es mayúscula y minúscula.

178
Tenes razón falta condición esa parte y se puede mejorar la forma que imprime también.

179
No, no te perdiste nada. Está bien como lo has hecho si lo hiciste con el interfaz de BlueJ, ya que es lo que se ha explicado hasta el momento en el curso. Más adelante verás dentro del propio curso cómo se puede resolver usando el método main. Siga así que está bien.

180
Está bien el ejercicio, siga así. Saludos, adelante. Cumple todo lo que pide. Para que sea perfecto tenes que pegar todo los códigos en el objeto con el método main.

Páginas: 1 ... 4 5 6 7 8 [9] 10 11 12 13 14 ... 18

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".