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

Páginas: 1 ... 5 6 7 8 9 [10] 11 12 13 14
181
Hola!!

Perdón!! es que daba clases! ya estoy en casa, aquí esta:

Código: [Seleccionar]
package Lector;
import java.util.Scanner;

public class Lectores {
    public String leerCadena(){
        Scanner in = new Scanner(System.in);
        return in.nextLine();
    }
   
    public int leerNumero(){
        Scanner in = new Scanner(System.in);
        return in.nextInt();
    }
}

182
Hola!

Se me paso ponerlo, juraba que lo había puesto :(, Lector es el paquete que contiene la clase "Lectores" por cierto!

Lo de la repetición tienes razón, me hubiese ahorrado unos cuantos..  D:

Gracias!

183
Oh!! vaya! no lo sabia! disculpadme, es que anteriormente me habían comentado algo sobre eso, y me dio a entender como que en el main eso era inapropiado..

Ahora ya se que depende del caso, es valido! Muchísimas gracias!

184
Buenas noches!

Vengo a resolver el ejercicio 84° del curso, nos pide lo siguiente:

Se plantea desarrollar un programa Java que permita la gestión de una empresa agroalimentaria que trabaja con tres tipos de productos: productos frescos, productos refrigerados y productos congelados. Todos los productos llevan alguna información común como fecha de caducidad y número de lote, pero a su vez cada tipo de producto lleva alguna información específica, por ejemplo los productos congelados deben llevar la temperatura de congelación recomendada. Hay tres tipos de productos congelados: congelados por aire, congelados por agua y congelados por nitrógeno.
La empresa gestiona envíos a través de diferentes medios, y un envío puede contener cierto número de productos frescos, refrigerados o congelados. Identificar las 7 clases Java principales que podemos identificar dada la forma de funcionamiento de la empresa. Crear un esquema con las relaciones de herencia y/o uso entre las distintas clases.


Aquí mi esquema, explicando lo que pude captar del capitulo, es muy interesante este concepto pero a la vez un poco trillado para novatos como yo xD



Sep... por mas que pude leer y leer, saque 8 clases en vez de 7 ...  :-\! Las lineas negras indican la herencia o relacion! (Disculpen el paint por cierto jajaj!).

La super clase aqui es la clase Producto. Se divide en 3 clases (o tipos de producto):

*Productos Frescos.

*Productos Congelados que a su vez se dividen en 3 clases mas (o tipos):
  - Congelados por aire.
  - Congelados por agua.
  - Congelados por nitrógeno.

*Productos Refrigerados.

Herencia:
*Todas las clases que están debajo de la super clase Producto heredaran sus atributos y métodos.
*Las tres clases que estan debajo o se dividen de "Productos Congelados", heredaran los atributos y metodos del mismo.

La clase envíos configura el pedido, osea, el numero de productos que se pidió de cada tipo.

Así pude entender esto de herencia! Si el esquema esta incorrecto o alguna otra cosa teórica esperare ansioso sus comentarios!

185
Comunidad / Re:Hola a todos...
« en: 14 de Abril 2015, 16:29 »
Muchisimas gracias!!!! esta info es muy valiosa!! y las preguntas tambien!! cuando llegue a casa me sentare a leerlo!

Por ahora solo me queda seguir estudiando, Gracias!!  :)

186
Hola a todos

Supongo que me he presentado un poco tarde... (muy tarde Dan). Mi nombre es Daniel Phillips. Soy de Panamá y tengo 19 años..!

Me gusta mucho programar, el primer lenguaje que di fue hace 4 en mi colegio... era el lenguaje C++.

Al inicio me causaba estrés, pero luego con el tiempo, le fui tomando mas y mas interés al asunto.. Hasta quedar enganchado. Al pasar los 3 años y salir del colegio, estaba un poco confundido de que tomar... Me gusta la gastronomía (si, leyeron bien), pero no pude tomar eso ya que padezco de una enfermedad que por salud no puedo tomar ningún tipo de calor (enemigo del sol? :'() tome esta carrera porque me interesaba muchísimo esto de la programación!, hasta ahora solo llevo 1 año en la Universidad... ya he manejado hasta ahora el visual basic, c++, powerbuilder y java! mis metas son:

1. Desarrollar mi propia aplicacion de android
2. Crear mi robot con una placa arduino!

Pero por ahora lo principal... desearía sacar una certificación en Java...! me imagino que para esto requeriré de mucha practica... y por eso estoy aquí!

Su curso me ha parecido super bueno! pude ver muchísimas cosas nuevas, y adaptarme a un estilo de programación totalmente diferente del que yo tenia en java...! No he terminado el  curso de java desde cero aun. . Estoy en el cap 84 (ya casi en la recta final de este) seguro cuando salga del curso ya estaré mas en tierra con Java.. y claro.. a darle tambien al avanzado!

Por cierto, seria de agradecimiento también, si alguien sabe como es el procedimiento para sacar esa certificación? con que me prepararia para ese examen? y a los que ya lo tienen ¿Como fue esa experiencia? ¿Que vino en ese examen?....

Cualquier cosa también, con mis pocos conocimientos estoy dispuesto a ayudar en lo que pueda!

Mucho gusto a todos!

187
Buenas noches!!

Vengo a resolver el ejercicio del capitulo 83° del curso. El enunciado dice así:

Intenta compilar el siguiente código:
Código: [Seleccionar]
public class Test {
    int atributo1;
    Test (int atrib) {atributo1 = 0;}
    public static void main (String[ ] Args) {
        System.out.println ("Mensaje 1");
        System.out.println ("Atributo 1 vale" + this.getAtrib1());
    } //Cierre del main
    public int getAtrib1() {return atributo1;}
} //Cierre de la clase

1. ¿Qué mensaje de error se obtiene?

non-static variable this cannot be referenced from a static context

2. ¿Por qué se obtiene este mensaje de error?

Encontré 2 casos de como se podría arreglar:

Sin instancia:
En la clase main no se puede usar el this por ser static. También el atributo "atributo1" no esta declarado como static. El método getAtribi1 tampoco funciona porque no esta declarado static. Todo método que vas a usar en la clase que tenga el main, tiene que ser estatico, si se desea usar (esta mas decir que lo que se pone estatico es lo que se va a encontrar afuera del metodo main). Sera métodos de clase, no va a necesitar de objetos (o instancias).

Con instancia:
Hace falta crear un objeto Test. Así de simple. pero... ¿esto seria incorrecto?, ¿una mala practica como dicen...?

3. ¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos?

Sin instancia:
Código: [Seleccionar]
public class Test {
      static int atributo1;
      Test(int atrib){atributo1 = atrib;}     
    public static void main (String[ ] Args) {
        atributo1 = 3;
        System.out.println ("Mensaje 1");
        System.out.println ("Atributo 1 vale " + getAtrib1());
    }

    public static int getAtrib1() {return atributo1;}
}

Con instancia: (¿Mala practica?)
Código: [Seleccionar]
public class Test {
      int atributo1;
      Test(int atrib){atributo1 = atrib;}     
    public static void main (String[ ] Args) {
        Test lol = new Test(3);
        System.out.println ("Mensaje 1");
        System.out.println ("Atributo 1 vale " + lol.getAtrib1());
    }

    public int getAtrib1() {return atributo1;}
}

La ejecución de ambos casos seria así:


Sin instancia es lo que se quiere (muy seguro) en este capitulo, solo hice la otra forma por curiosear un poco. Se podía hacer de ambas formas con lectores también para introducir cualquier valor del teclado!

Esperare sus comentarios y sus debidas correcciones en el caso que este en lo incorrecto.
Saludos

188
Buenas noches!!!

Vengo a resolver el ejercicio del capitulo 82° del curso. Su enunciado dice así:

Declara una clase que represente el tipo enumerado que define tipos de piedra con los valores CALIZA, MARMOL, PIZARRA, CUARZITA. Si sus pesos específicos son de 1200, 1423.55, 1325 y 1466.22 kg/m3 y un palet admite 2.27 m3 de volumen., crea un programa que muestre el peso de los palets de cada uno de los tipos de piedra.

Mi clase Piedra:
Código: [Seleccionar]
package PIEDRA;

public enum Piedra { 
    CALIZA(1200),
    MARMOL(1423.55),
    PIZARRA(1325),
    CUARZITA(1466.22);
     
    private double pesoEspecifico;
   
    private Piedra(double peso){
        pesoEspecifico = peso;
    }
   
    public double getPeso(){return pesoEspecifico;}     
}

Clase MainPiedra:
Código: [Seleccionar]
package PIEDRA;

public class MainPiedra {
    public static void main(String[]args){
    System.out.println("Un palet admite 2.27 m3 de volumen. A continuación el peso de los palets de las distintas piedras: ");
    for(Piedra aux: Piedra.values()){
        System.out.println(aux.toString() + ": el palet pesa " + (2.27*aux.getPeso()) + "Kg");
    }   
    }
}

Su ejecución:


Gracias por su atencion!

189
Buenas noches!!

Vengo a resolver el ejercicio del capitulo 81° del curso. Su enunciado es el siguiente:

Crea una clase Vehiculo donde definas un tipo enumerado MarcaDeVehiculo cuyos valores posibles serán FORD, TOYOTA, SUZUKI, RENAULT, SEAT. Establece como atributos de la clase matricula (tipo String) y marca (tipo MarcaDeVehiculo) y crea los métodos getters (para obtener) y setters (para establecer el valor) de los atributos. Escribe un pequeño programa de prueba donde verifiques que los métodos funcionan correctamente.

Mi clase Vehiculo:
Código: [Seleccionar]
package VehiculosENUM;

public class Vehiculo {
    private enum MarcaVehiculo{FORD,TOYOTA,SUZUKI,RENAULT,SEAT};
    private String matricula;
    private MarcaVehiculo marca;
   
    public Vehiculo(){
        matricula = "";
        marca = null;
    }
   
    public void setMatricula(String datoMatricula){
        matricula = datoMatricula;
    }
   
    public void setMarca(String datoMarca){
        switch(datoMarca){
            case "Ford":
            case "ford":
                marca = MarcaVehiculo.FORD;
            break;
            case "Toyota":
            case "toyota":
                marca = MarcaVehiculo.TOYOTA;
            break;
            case "Suzuki":
            case "suzuki":
                marca = MarcaVehiculo.SUZUKI;
            break;
            case "Renault":
            case "renault":
                marca = MarcaVehiculo.RENAULT;
            break;
            case "Seat":
            case "seat":
                marca = MarcaVehiculo.SEAT;
            break;
            default:
                System.out.println("Marca de vehiculo no registrado.");
            break;
        }
    }
   
    public String getMatricula(){
        return matricula;
    }
   
    public String getMarca(){
        return marca.toString().toLowerCase();
    }
}

Mi clase main para hacer la prueba:
Código: [Seleccionar]
package VehiculosENUM;

public class Main {
    public static void main(String[]args){
        Lector.Lectores leer = new Lector.Lectores();
        Vehiculo carro = new Vehiculo();
        String dato;
        System.out.println("Ingrese matricula del vehiculo: ");
        dato = leer.leerCadena();
        carro.setMatricula(dato);
        System.out.println("Ingrese marca de carro(Ford,Toyota,Suzuki,Renault,Seat).");
        dato = leer.leerCadena();
        carro.setMarca(dato);
        System.out.println("La marca del carro es " + carro.getMarca() + ".\nLa matricula es: " + carro.getMatricula() + ".");
    }
}

Sip. como ven aqui, mi clase Lectores esta ubicado en otro paquete, de esta manera accedo a el! asi me ahorro el tiempo en estar creando clases y clases de lectores.. Patrón:

nombrePaquete.nombreClase

Bueno y aquí el resultado de mi prueba, funciona todo bien como pensé:



Esperare sus respectivas correcciones si algo anda mal.. o si el codigo puede hacerse mas sencillo!

Saludos!

190
Muchas gracias por tu comentario!  :D

191
Buenas noches!!

Resuelvo el ejercicio del capitulo 80° del curso, su enunciado es así:

Crea una clase denominada miniCalculadoraEjemplo que tenga dos métodos (basados en el uso de métodos de la clase Math): un método valorAbsoluto que recibe un número de tipo double y devuelva su valor absoluto, y otro método raizCuadrada que reciba un número de tipo double y devuelva su raíz cuadrada. Documenta esta clase conforme a los estándares JavaDoc y comprueba cómo se visualiza la documentación.

Esta clase ya la tenia guardada, solo era colocarle los comentarios y demas!!! La clase miniCalculadora:

Código: [Seleccionar]
package miniCalculator;
/**
 *Calcula el valorAbsoluto y raiz cuadrada de un valor.
 * @version 1.00.0
 * @author Daniels
 */
public class miniCalculadora {
    /**
     * Constructor de la clase miniCalculadora
     */
    public miniCalculadora(){}
    /**
     * Calcula el valor absoluto de un numero.
     * @param numeroAbs: Recibe numero para sacar valor absoluto.
     * @return: Devuelve valor absoluto.
     */
    public double valorAbsoluto(double numeroAbs){
        return Math.abs(numeroAbs);
    }
    /**
     * Calcula la raiz cuadrada de un numero
     * @param num: Recibe numero para sacar raiz cuadrada.
     * @return: Devuelve la raiz cuadrada del numero recibido.
     */
    public double raizCuadrada(double num){
        return Math.sqrt(num);
    }
}

Y pues, así se ve si generas el javadoc:



Super nuevo para mi, no conocía esto! con razón cada vez que creo una clase en netbeans, me genera un código en comentarios con el patron de asteriscos y slash con @author... ya veo que se trataba de comentarios para el javadoc...

Muchas gracias de nuevo y saludos!

192
Buenas noches!

Vengo a resolver el ejercicio 79° del curso, que pide esto:

Declara un array que contenga seis booleanos que sean true, true, false, false, true, false. A continuación, crea una lista de tipo LinkedList a partir de dicho array usando la clase Arrays del api de Java.

Mi código aquí:

Código: [Seleccionar]
package LinkAddALL;
import java.util.LinkedList;
import java.util.Arrays;

public class TransformarArray {
    public static void main(String[]args){
        Boolean[] arrayBooleana = {true,true,false,false,true,false};
        LinkedList <Boolean> listaBoleana = new LinkedList<>();
        listaBoleana.addAll(Arrays.asList(arrayBooleana));
        System.out.println("Lista LinkedList: " + listaBoleana);       
    }
}

Ejecutado:



Saludos!

193
Vaya o,o

Guardare tu código para practicar, gracias!

194
Ah.. ya veo.. muchas gracias y disculpas..!

195
Buenas noches!!

Vengo a pedirles ayuda!! estoy truncado aqui con esto del polimorfismo!! hago el ejercicio del capitulo 78° del curso:

La interface Set de Java es implementada por las clases HashSet y TreeSet. Busca información sobre estas clases en la documentación del api Java. Crea un programa Java que haga lo siguiente:

a) Declarar un ArrayList de objetos de tipo Set.

b) Crear un objeto de tipo HashSet para contener Strings y haz que contenga las cadenas “sol”, “luna”, “saturno”.

c) Crear un objeto TreeSet para contener Integers y haz que contenga los números 2, 8, 5.

d) Añade los objetos HashSet y TreeSet como elementos del ArrayList.

e) Usa iteradores para recorrer los elementos del ArrayList y recorrer el contenido de cada uno de los elementos y mostrar este contenido por pantalla. Por pantalla deberás obtener “sol”, “luna”, “saturno”, 8, 5, 2.


La  cuestion es esta: No se como utilizar el iterator aqui... no se si necesito un aire o estoy bloqueado.. u,u

Hice este codigo:

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

public class PracticaJava {
      public static void main(String[]args){
          Integer arrayNum[] = new Integer[]{2,8,5};
          String astros[] = new String[]{"Sol","Luna","Saturno"};
          ArrayList<Set> lista = new ArrayList<Set>();
          Iterator <Set> recorre = lista.iterator();
          HashSet<String> listaAstro = new HashSet<String>();
          TreeSet<Integer> numeros = new TreeSet<Integer>();
          listaAstro.addAll(Arrays.asList(astros));
          numeros.addAll(Arrays.asList(arrayNum));
          lista.add(listaAstro);
          lista.add(numeros);
          System.out.println("Datos de la coleccion: ");
          for(Set temp: lista){
              System.out.println(lista);
          }
      }
    }

Estaba tan cerrado :( bueno use un for each para saber si al menos la lista apaño clases diferentes en una y salio esto:



Lo apaño!! pero q va, repite.. ahora la cosa es como hago para imprimir con iterator... se que es como esto:

while(recorre.hasNext()){
      Set aux = recorre.hasNext(); <----- aqui manda error
      Sytem.out.println("Elemento: " + aux);
}

Quisiera saber que hago mal.... espero sus comentarios!!!

196
Buenas noches!!

Esto de Iterable no lo entiendo bien... resulta que en el ejercicio 77° del curso se nos mando:

Busca información en la documentación oficial de Java sobre la interface Iterable. ¿Qué clases de las que conoces implementan esta interface? ¿Qué método han de tener disponible las clases que implementan esta interface? ¿Para qué sirve este método?

1. La implementación de esta interfaz permite que un objeto sea el destino de la sentencia for-each.

2. Los métodos:
    a) forEach: Lo que hemos dado, el bucle for each. Ya sabemos que es...
         for(String temp: Lista){
                   .................
         }

    b) iterator: Lo que utilizabamos para recorrer coleciones de ArrayLists.

    c) spliterator: ... La gran duda, en realidad no comprendo para que es esto. Al parecer
    tambien se usa para recorrer cadenas .. pero algo mas alla debe tener...

Me podrian hechar una mano chicos?? :(

197
Buenos dias!

Resuelvo el ejercicio 75° del curso con el siguiente enunciado:

Crea un programa Java donde declares un array de enteros tipo int miArray1 cuyo contenido inicial sea {2, -4, 3, -7}. Muestra su contenido por pantalla. Copia el contenido de este array a un ArrayList denominado lista1 y muestra su contenido por pantalla. ¿Qué tipo de datos almacena el array? ¿Qué tipo de datos almacena el ArrayList?

Aqui el codigo de prueba:

Código: [Seleccionar]
package ArratObjeto;
import java.util.ArrayList;

public class ListaNumeros {
    public static void main(String[]args){
        int miArray1[];
        ArrayList <Integer> Lista1 = new ArrayList<Integer>(4);
        miArray1 = new int[]{2,-4,3,-7};
        System.out.print("Elementos del array: ");
        for(int i = 0; i < miArray1.length; i++){
            System.out.print(miArray1[i] + ", ");
        }
        System.out.println(" ");
        //Copiando cadena con System.arraycopy...!
        for(int i = 0; i< miArray1.length; i++){
            Lista1.add(miArray1[i]);
        }
        //Imprimiendo Lista1.
        System.out.print("Elementos copiados al segundo array: ");
        for(int num: Lista1){
            System.out.print(num + ", ");
        }
    }       
}

Citar
¿Qué tipo de datos almacena el array?

Un array puede almacenar tipos primitivos (int, double, char, float..) y el tipo "especial" que es un objeto, los tipos String.

Citar
¿Qué tipo de datos almacena el ArrayList?

Me ocurrió algo durante la confección del código para la prueba:

Confieso que al inicio hice esto:


Y me puse a jugar...



Y como ya saben, el String es un objeto


La respuesta era usar el Integer obviamente porque usamos numeros:


Con los tipos primitivos, suelta errores, solo funciona con objetos (String, Integer)... por lo que mi conclusión seria: solo almacenan objetos.

PD: La linea amarilla que esta bajo el "new ArrayList<Integer>(4);" es un warning, que me dice que estoy redundando el asunto (como si el netbeans me dijera: hey, no hace falta que me digas de nuevo que Lista1 es Integer.)

Le hice caso a la advertencia, lo corrigio de esta manera "new ArrayList<>(4);" y funciono igual:



Creo que solo es valido escribir "new ArrayList<Integer>(4);" en constructores, aunque igual, con todo y el warning corre el programa.

Espero sus comentarios y sus correcciones, gracias!

198
Las cabeceras! cierto! pongo una imagen de una clase perteneciente a cada paquete:

Formas.formas1dimension


Formas.formas2dimension


Formas.formas3dimension


Mil saludos y gracias!

199
Pense que la pregunta era que si se podia crear un metodo para establecer el valor. Me imagino que con ese codigo que deje, solo se podria establecer 1 sola vez y no mas...

No tendria sentido si fuera asi, bueno!! Gracias toni!!!

200
Vaya, tienes razón... Al parecer en programación se debe evitar la repetición de lineas...!

Muchas gracias por tu comentario!!

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

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