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 - César Krall

Páginas: 1 ... 42 43 44 45 46 [47] 48 49 50 51 52 ... 68
921
Aprender a programar desde cero / Re:Ejercicio CU00624B
« en: 14 de Junio 2014, 19:29 »
Hola, está correcto. Por comentar algo, java admite la ñ con lo que podrías usar añoEdicion en lugar de annoEdicion. De todas formas puede ser una buena práctica no usarla porque en determinados lenguajes o entornos puede dar problema. También a modo de detalle vería preferible poner como nombre de método setEsDigital ó setIsDigital en vez de setDigital para reforzar el sentido de lo que se quiere decir, pero esto es algo que cada cual puede hacer como mejor considere.

Saludos

922
Hola, aquí tienes la respuesta: debes usar equals como se indica en

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

Saludos

923
Aprender a programar desde cero / Re:EJERCICIO CU00634B
« en: 14 de Junio 2014, 19:19 »
Hola tus respuestas están correctas y de hecho ahora al revisarlo me he dado cuenta de que la opción o) me había generado confusión a mí mismo. No se cumple B > 3 por tanto la o) es falsa (en un post anterior había puesto que era verdadera, voy a corregirlo porque realmente es falsa).

Saludos

924
Guarda un archivo de nombre ficheroQueVamosALeer.txt con estas tres líneas:

Nombre: Juan
Edad: 32
Teléfono: 06543294

Luego ejecuta este programa de ejemplo (tiene que estar en la misma carpeta que el txt):

Código: [Seleccionar]
import java.util.Iterator;
import java.io.File;
import java.util.Scanner;
import java.util.ArrayList;

public class ejemploAprenderaprogramar {

    public static void main (String[] args) {

        try{
            File fichero_entrada;
            File fichero_salida = null;
            fichero_entrada = new File ("ficheroQueVamosALeer.txt");

            //Si no hay fichero de entrada no hacemos proceso de cálculo
            if (!fichero_entrada.exists()) {System.out.println ("No existe el fichero de entrada especificado"); }

            else { //Sí existe un fichero de entrada y se procesa para su cálculo
                //Extracción de datos del fichero de entrada ejemplo aprenderaprogramar.com
                Scanner scan1 = new Scanner (fichero_entrada);
                ArrayList<String> datosDeEntrada = new ArrayList<String>();
                int contador = 0;
                while (scan1.hasNext()){
                    String lineaExtraida = scan1.nextLine();
                    datosDeEntrada.add(lineaExtraida);
                    contador++;
                }

                System.out.println("El número de líneas en el fichero de entrada es: " + contador);

                String [] datosDeEntradaArray = new String[contador];

                for (int i=0; i<datosDeEntradaArray.length; i++){
                    datosDeEntradaArray[i] = datosDeEntrada.get(i);
                    System.out.println("Mostrando línea en fichero " + (i+1) + ": " + datosDeEntradaArray[i]);
                }

            }
        }catch (Exception e) {System.out.println ("Se ha producido un error " +e + ". Revise argumentos y datos");}
        }//Cierre del método main
    }


Al ejecutar el programa se obtiene:

El número de líneas en el fichero de entrada es: 3
Mostrando línea en fichero 1: Nombre: Juan
Mostrando línea en fichero 2: Edad: 32
Mostrando línea en fichero 3: Teléfono: 06543294


Aquí ya tienes los datos, ahora tienes que tratarlos para extraer lo que a tí te interese.


925
Sí es posible, siempre que la información dentro del archivo esté organizada. Tal y como tú la pones sí está organizada (sigue el patrón nombreDelDato: espacio valor del dato).

En este caso si el archivo sólo contiene Nombre y Edad bastaría con extraer la línea completa a un string, luego hacer un split o romper la cadena por el espacio para quedarte solo con el valor Jorge o con el valor 32. En el caso de 32 tendrías que hacer un parseado o transformación del tipo de dato para indicar que no es "32" como cadena, sino 32 valor numérico.

Saludos

926
Aprender a programar desde cero / Re:Ejercicio CU00623B
« en: 14 de Junio 2014, 09:48 »
Hola, está todo correcto. El constructor está bien inicializado, cuando se crea una persona en principio se desconocen sus datos y por eso es correcto inicializar con cadenas vacías, valores numéricos cero o booleanos false, aunque también habría otras opciones que serían correctas como inicializar con nombre = "desconocido";

Saludos

927
Aprender a programar desde cero / Re:Ejercicio CU00619B
« en: 13 de Junio 2014, 11:06 »
Hola toni, el objetivo de ese ejercicio es simplemente irse introduciendo en cómo debe organizarse una clase, lo has definido correctamente. Saludos.

928
Lo que se indica en la entrega CU00810B es sólo un ejemplo con datos de ejemplo, no son datos reales para acceder a un servidor. Para poder acceder vía ftp a un servidor debes disponer de cuenta en el servidor. Esto se explica más adelante (en concreto en la entrega CU00813B), así que continúa leyendo y cuando hayas completado la entrega CU00813B ya podrás acceder al hosting con tus datos. Saludos,

929
Hola, ¿En qué entrega del curso te encuentras? ¿Qué nombre de servidor estás usando?

930
Aprender a programar desde cero / Re:Ejercicio! entrega CU00633B
« en: 03 de Junio 2014, 18:50 »
La idea es que una clase como Doctor se encargará de mantener la información de un doctor, no de hacer otras tareas como mostrar mensajes o de concertar citas médicas. "Una clase para cada cosa" (programación cohesiva). Si tuvieras que mostrar mensajes podría pensarse en usar por ejemplo otra clase a la que llamáramos "Notificador" o "MostradorDeMensajes" que se encarga de mostrar los mensajes. De todas formas estas ideas tendrás que irlas asimilando a medida que vayas programando más y adquiriendo más conocimientos, no te preocupes ahora por eso sino por ir asimilando los conceptos que vas estudiando.


931
Aprender a programar desde cero / Re:Ejercicio! entrega CU00636B
« en: 03 de Junio 2014, 18:45 »
Hola, el programa lo veo correcto, enhorabuena por tu avance. Saludos,

932
Aprender a programar desde cero / Re:EJERCICIO CU00634B
« en: 03 de Junio 2014, 18:38 »
Hola, te indico los posibles errores que he visto en tus respuestas:

    n) ( A+B == 8 ) || (A-B == 6) = Falso


Dado que A vale 5 y B vale 3, se cumple A + B == 8 y por tanto se cumple la expresión, tendríamos que responder que es verdadero (el signo || indica que se considerará verdadero si se cumple una cosa u otra).


    p) A > 3 && B >= 3 && C < -3 = Falso

Sería verdadero ya que -12 es menor que -3, como he indicado un negativo es menor que otro cuanto más negativo sea.


Te aconsejo que lo revises y lo vuelvas a hacer sin mirar las soluciones. Saludos,



Nota: la o) es falsa porque no se cumple B > 3

933
Hola el código está correcto, como comentario en los métodos setters no es necesario incluir un mensaje por consola del tipo System.out.println("Ha cambiado el nombre del doctor, el nuevo nombre del doctor es: " + nombre);} Normalmente no se incluye (me refiero al desarrollo de programas profesionales), aunque si quieres incluirlo en los ejercicios de aprendizaje para poder verificar que funciona bien puedes hacerlo. Saludos

934
Aprender a programar desde cero / Re:aprender java
« en: 31 de Mayo 2014, 10:17 »
Hola, dado que este tema se trata con frecuencia te indico lo mismo que he indicado en otros hilos. Aprender a programar requiere tiempo y esfuerzo, no es cosa de unas semanas, ni siquiera de unos meses.

Si no has programador nunca:

Si quieres realizar un curso por libre te recomendaría empezar por aquí: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

El primer paso sería leer y entender hasta la entrega CU00111A.

Si quieres realizar un curso tutorizado on-line (de pago) aquí tienes la información: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87

El curso recomendado para empezar es "Fundamentos de programación nivel I".

Si quieres ir leyendo algunas cosas que seguramente te resultarán de interés: https://www.aprenderaprogramar.com/index.php?option=com_content&view=section&layout=blog&id=4&Itemid=18

Si ya tienes los fundamentos de programación, has programado en otro lenguaje y quieres aprender Java.

Si quieres realizar un curso por libre este sería el adecuado: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Si quieres realizar un curso tutorizado on-line (de pago): https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87



Saludos

935
Aprender a programar desde cero / Re:EJERCICIO ENTREGA CU00678B
« en: 28 de Mayo 2014, 14:36 »
Creo que tienes razón. En principio se puede dejar sin especificar el tipo a recorrer y dejar que el compilador lo determine por sí solo. Es decir, escribir:

Código: [Seleccionar]
            Iterator it2 = objetoSet.iterator();
            while (it2.hasNext()){
                System.out.print ("Elemento: " + it2.next() +", ");
            }

De esta manera no se especifica el tipo a recorrer y se obtiene un iterador para el tipo de elementos que contiene la colección (sean String, Integer u otro). Además se evita que salte un warning que saltaba antes.

Es decir, en la primera pasada del bucle externo it2 será un iterador sobre String y en la segunda pasada será un iterador sobre Integer. En este caso it2 se "reconstruye" con cada pasada del bucle exterior y por tanto se redefine el tipo implicado en el recorrido en el bucle interior.


936
Aprender a programar desde cero / Re:EJERCICIO ENTREGA CU00678B
« en: 28 de Mayo 2014, 13:22 »
Hola, lo primero, cuando vayas a pegar código usa el icono # que aparece en el editor por favor. Pulsas el # y te aparecen las etiquetas [ code ] ... [ / code] y pegas el código entre estas dos etiquetas.

Sobre el ejercicio: has llegado a "prácticamente" la solución. Como dices, la idea es recorrer cada uno de los elementos, no simplemente hacer un print que muestre todos los elementos en su conjunto.

Te doy la idea para que intentes resolverlo por tí mismo, si ves que se te complica mira el código que te pongo más abajo.

La idea: estás haciendo un recorrido del ArrayList gracias a un iterator que recorre sus elementos. Pero a su vez cada elemento del ArrayList consta de elementos. ¿Cómo recorrerlos? Introduciendo un nuevo iterador, es decir, tendrías un iterador que te va recorriendo los elementos del arraylist y tendrías otro iterador que te va recorriendo cada uno de los elementos dentro del arrayList. Estás anidando un recorrido dentro de otro. A cada iterador le debes poner un nombre distinto, por ejemplo it1 e it2.

Código:

Código: [Seleccionar]
import java.util.HashSet;
import java.util.ArrayList;
import java.util.TreeSet;
import java.util.Set;
import java.util.Iterator;

public class testCU00678B {
    public testCU00678B()    {    }
    public static void main (String[] Args) {
        System.out.println ("Comienza el programa");
        ArrayList<Set> listaObjetos;
        HashSet<String> objetosHash;
        objetosHash = new HashSet<String>();
        objetosHash.add("sol");
        objetosHash.add("luna");
        objetosHash.add("saturno");
        TreeSet<Integer> objetosTree;
        objetosTree = new TreeSet<Integer>();
        objetosTree.add(2);
        objetosTree.add( 8) ;
        objetosTree.add(5);
        listaObjetos = new ArrayList<Set>();
        listaObjetos.add(objetosHash);
        listaObjetos.add(objetosTree);
        Iterator<Set> it1 = listaObjetos.iterator();
        while(it1.hasNext())
        {
            Set objetoSet = it1.next();
            System.out.print ("Conjunto set contiene: " );

            Iterator<Set> it2 = objetoSet.iterator();
            while (it2.hasNext()){
                System.out.print ("Elemento: " + it2.next() +", ");
            }
            System.out.println("");
        }

    }
}

Saludos.

937
Aprender a programar desde cero / Re:ERROR EN EJEMPLO CU00670B?
« en: 27 de Mayo 2014, 18:35 »
Sí, también es válida si se usa correctamente. Con frecuencia se puede obtener un mismo resultado de distintas maneras. En el caso de Integer.valueOf te devuelve un Integer que convierte el int o el String que recibe como parámetro.

938
Aprender a programar desde cero / Re:ERROR EN EJEMPLO CU00670B?
« en: 27 de Mayo 2014, 17:04 »
Parece que el problema lo estás teniendo porque estás tratando de aplicar un método a una variable de tipo int. Tienes que recordar que los tipos primitivos no tienen métodos, por tanto para poder usar un método sobre un entero el entero tiene que estar declarado como tipo Integer, no puedes declararlo como tipo int. Puede ser de utilidad releer esto: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=419:tipos-de-datos-java-tipos-primitivos-int-boolean-y-objeto-string-array-o-arreglo-variables-cu00621b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Como posible solución en código tendríamos:

Código: [Seleccionar]
import javax.swing.JOptionPane;
public class ejemplo1 {
    public static void main (String[] Args) {
        String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
        Integer miEntero = 0;
        miEntero = miEntero.valueOf(entradaUsuario);
        System.out.println ("El doble del número introducido es: " + 2*miEntero); 
    }
}

939
Aprender a programar desde cero / Re:ERROR EN EJEMPLO CU00670B?
« en: 27 de Mayo 2014, 15:42 »
Hola, lo he revisado y no encuentro que haya un error (aunque podría haberlo, no digo que no).

El método está disponible para distintas clases y lo que hace es traerse a la clase que lo utiliza un valor convertible que pertenece a otra clase.

Por ejemplo puedes compilar esto:

Código: [Seleccionar]
public class ejemplo1 {
    public static void main (String[] Args) {
        Integer miInteger = 0;
        int i = 5;
        miInteger = miInteger.valueOf(i);
        System.out.println ("El valor de miInteger es "+miInteger);
    }
}

Es cierto que hay otros métodos propios de Integer, pero en este caso se estaría hablando concretamente del método valueOf aplicable a distintas clases.

Espero haber aclarado algo. Saludos.

940
Hola, a modo de orientación para el ejercicio.  Dadas las variables de tipo int con valores A = 5, B = 3, C = -12 indicar si la evaluación de estas expresiones daría como resultado verdadero o falso:

a) A > 3                                                            b) A > C                                               c) A < C

Tienes que ir traduciendo las expresiones a preguntas y responder verdadero o falso. Por ejemplo el apartado a) se traduciría como ¿Es A mayor que 3? La respuesta, dado que A vale 5, es verdadero.

El apartado b) se traduciría ¿Es A mayor que C? Dado que A vale 5 y C vale -12 equivale a la pregunta ¿Es 5 mayor que -12? La respuesta, dado que 5 es mayor que -12, es verdadero.

El apartado c) se traduciría ¿Es A menor que C? Dado que A vale 5 y C vale -12 equivale a la pregunta ¿Es 5 menor que -12? La respuesta, dado que 5 es mayor que -12, es falso.

Saludos.

Páginas: 1 ... 42 43 44 45 46 [47] 48 49 50 51 52 ... 68

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