Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - Usuario Invitado

#221
Java / Re: (Ayuda) Plantillas en java
5 Abril 2015, 09:05 AM
No se llama plantilla. Map es un objeto que almacena valores en pares Key - Value, o Llave - Valor. El primer parámetro genérico es el tipo de objeto que será la Llave, y el segundo parámetro genérico es el tipo de objeto que guardará, es decir el valor.

La interface Map, está definida como:

Código (java) [Seleccionar]
Map<K,V>

K significa Key y V, value. Los valores para K y V son asignados en tiempo de ejecución. A ésto se le llama Generics. K y V pueden tomar cualquier valor (siempre y cuando sean objetos, no primitivos), lo que nos da mucha flexibilidad y seguridad, ya que, una vez declarados los tipos de objetos Key y Value, dicho Map solo dejará guardar valores que correspondan a esos tipos. Si tratas de colocarle otro tipo de dato, ni siquiera te dejará compilar. Ésto, nos ahorra muchos problemas que tendríamos en tiempo de ejecución.


Un saludo.

PD: El "ayuda" está de más. Se supone que eso se intuye cuando se lee el tema.
#222
Java / Re: ayuda con ejercicio en java
5 Abril 2015, 08:57 AM
Un método pequeño:

Código (java) [Seleccionar]
public List<Integer> getAmountsOf(String directory, String fileName) throws IOException, NumberFormatException, RuntimeException {
List<Integer> amounts = new ArrayList<>();
Path path = Paths.get(directory, fileName);
Charset charset = Charset.forName("UTF-8");
// lee todas las lineas del fichero
List<String> lines = Files.readAllLines(path, charset);
if(lines == null || lines.empty()) {
throw new RuntimeException("El archivo está vacío");
}
for (String line : lines) {
String[] tokens = line.split(",");
int sum = 0;
for(String token : tokens) {
sum += Integer.parseInt(token);
}
amounts.add(sum);
}
return amounts;
}


Modo de uso:

Código (java) [Seleccionar]
try {
List<Integer> amounts = getAmountsOf("D://prueba", "fichero.txt");
} catch(IOException e) {
System.out.println("Error al leer fichero: "+e.getMessage());
} catch(NumberFormatException e2) {
System.out.println("Una línea contiene un carácter no numérico: "+e2.getMessage());
} catch(RuntimeException e3) {
System.out.println(e3.getMessage()); // imprime: 'El archivo está vacío'
}
#223
Scripting / Re: [Ruby] Dónde está el fallo.
4 Abril 2015, 22:17 PM
Código (ruby) [Seleccionar]
if palabra_ingresada <= 0 || palabra_ingresada >= 0
               numeros.push(palabra_ingresada)


¿Estás intentando agregar números a un array siempre y cuando sea diferente a 0? Porque eso es lo que hace la condición anterior. Otra cosa, ¿podrías decir qué error te muestra? Si no estamos adivinando.
#224
El mejor consejo que te puedo dar es que te olvides de ésto por el momento. Aprende lo que tengas que aprender, y hazlo bien. Absorbe las buenas prácticas de programación, leéte bien el API del lenguaje que te interesa, busca diferentes formas de hacer algo, lee código de programadores avanzados y aprende de ellos, lee blogs, frecuenta foros de programadores como StackOverFlow o éste foro, etc.

Cuando tengas una base bien plantada y algo de experiencia desarrollando software como te comentó @engel lex, puedes retomar éste proyecto. Por ahora, lamento decirte que te es verdaderamente muy difícil realizarlo.
#225
Java / Re: Ayuda ejercicio Java POO
4 Abril 2015, 20:16 PM
¿Solamente pones un POJO? Trata de analizar el enunciado. Primero identifica entidades:

  • Libro (nombre, autor o autores, año de edición, ¿edición de lujo?)
  • Autor (nombres)
  • Colección (mas de 1 libro)

    Dado lo anterior deducimos que:

    Autor depende de Libro. Por lo que un Libro no puede existir sin un Autor. Así mismo, Un libro puede tener uno o más autores[/b]:

    Código (java) [Seleccionar]
    public class Author {
    private Integer id; // puede servir de algo
    private String names;

    public Author() {

    }
    public Author(Integer id, String names) {
    this.id = id;
    this.names = names;
    }
    public Integer getId() {
    return id;
    }
    public void setId(Integer id) {
    this.id = id;
    }
    public String getNames() {
    return names;
    }
    public void setNames(String names) {
    this.names = names;
    }
    }


    Código (java) [Seleccionar]
    public class Book {
    private String isbn;
    private String name;
    private List<Author> authors;
    private Date editionDate;
    private Boolean deluxeEdition;

    public Book() {

    }
    public Book(String isbn, String name, List<Author> authors, Date editionDate, Boolean deluxeEdition) {
    this.isbn = isbn;
    this.name = name;
    this.authors = authors;
    this.editionDate = editionDate;
    this.deluxeEdition = deluxeEdition;
    }
    public String getIsbn() {
    return isbn;
    }
    public void setIsbn(String isbn) {
    this.isbn = isbn;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public List<Author> getAuthors() {
    return authors;
    }
    public void setAuthors(List<Author> authors) {
    this.authors = authors;
    }
    public Date getEditionDate() {
    return date;
    }
    public void setEditionDate(Date editionDate) {
    this.editionDate = editionDate;
    }
    public Boolean isdDeluxeEdition() {
    return deluxeEdition;
    }
    public void setDeluxeEdition(Boolean deluxeEdition) {
    this.deluxeEdition = deluxeEdition;
    }
    }


    Y la colección:

    Código (java) [Seleccionar]
    public class Collection {
    private final NavigableMap<Integer, Book> collection = new TreeMap<>();

    public Book add(Book book) {
                    Integer newId = null; // numero que ocupa el libro en la coleccion
    if(collection.isEmpty()) { newId = 1; }
                    else { newId = collection.lastKey(); }
    return collection.put(newId, book);
    }
    public Book remove(Integer id) {
    return collection.remove(id);
    }
    public Book get(Integer id) {
    return collection.get(id);
    }
    public void showAll() {
    for(Entry.Map<Integer, Book> entry : collection.entrySet()) {
    System.out.println("Posición del libro: "+entry.getKey());
    System.out.println("Nombre del libro: "entry.getValue().getName());
    }
    }
    }



    Saludos.


    PD: Si vas a colocar código otra vez, utiliza las etiquetas GeSHi. Si no sabes que son, lee las reglas del foro.
#226
Aquí tienes un ejemplo: Detectar llama entrante en Android

PD: El tema debe ir en Java.
#227
Lo que pasa es que estás usando row en lugar de column. Mira éste nuevo JsFiddle que te hice. Clickea cualquier cuadro y se redimensionará, para que verás el flujo que toman las cajas.
#228
Devolver un objeto, depende de si es necesario devolver un valor para una operación concreta o para operaciones que pueden realizarse. Imagina el siguiente escenario:

Código (java) [Seleccionar]
public class Rectangle {
private Integer y;
private Integer x;

public Rectangle() {

}
public Rectangle(Integer x, Integer y) {
this.x = x;
this.y = y;
}
public Integer getY() {
return y;
}
public Rectangle setY(Integer y) {
this.y = y;
return this;
}
public Integer getX() {
return x;
}
public Rectangle setX(Integer x) {
this.x = x;
return this;
}
}


Entonces, puedes hacer algo así:
Código (java) [Seleccionar]

Rectangle rectangle = new Rectangle().setY(5).setX(5);


O también:

Código (java) [Seleccionar]
Rectangle rectangle = new Rectangle();
rectangle.setY(5);
rectangle.setX(5);


El programador tiene 3 formas de hacer lo mismo, y él usará la que crea conveniente. Ésto aporta flexibilidad.

Respecto a rendimiento, no creo que haya ninguna diferencia en lenguajes modernos. En Java por ejemplo, si creas un objeto dentro de un método, éste se guarda en el HEAP, si es un primitivo en el STACK. Pero ésto no supone un problema de rendimiento, ya que el Garbage Collector lo desechará del HEAP cuando ya no haya ninguna referencia a él.
#229
Yo respeto mucho la opción de las personas sean hetero, bi u homosexuales. Simplemente, en mi opinión, la homosexualidad es un trastorno biológico (en la gran mayoría, cuando se nace gay). Dicen que la naturaleza es perfecta, pero ya vemos que no.

Hemos evolucionado así (según la teoría de selección natural, o hechos por Dios o extraterrestres) varón y mujer. A todos los científicos, ¿si es normal para nosotros ser homosexuales, no creen que hace mucho hubiera un solo un sexo?

No ss normal para nosotros ser homosexuales, nosotros estamos diseñados para ser heterosexuales. Las mismas prácticas sexuales entre varones o mujeres dicen que debe haber una hembra y un macho (es un instinto) o pasivo y activo como les llaman.

Según la biología:

CitarLa atracción sexual, según los estudiosos de la Biología, es la capacidad para atraer el interés sexual de potenciales parejas reproductivas.

Ahora, hablando de sexo. Las prácticas homosexuales entre varones, en la antiguedad correspondería a un gran riesgo de enfermedades. Por ejemplo, prostatitis. Si no hay enema o preservativo, e introduces tu pene en un ano sin asear, los restos fecales entrarían por tu uretra causando serios estragos.
Claro que ésto también aplica para heterosexuales, el sexo anal es de lo mejor jaja, pero el 95% de las veces, usamos la cálida vagina.

La esencia entre varón y hembra, se mantiene aún en la homosexualidad. Siempre debe haber un macho y una hembra, perdón, activo y pasivo.


Es ni opinión, no una verdad absoluta. Saludos.
#230
¿Te has bajado el JDK del sitio de Oracle? Al parecer has instalado versiones distintas entre el JDK y el JRE. Ambas deben ser las mismas versiones o al menos el JRE debe ser más actual, ya que Java es backward compatible pero no forward (No puedes ejecutar una app que utiliza lambdas de Java 8 en un JRE 7).

Realiza los siguientes pasos:

1) Desinstala todo, limpia el registro con Ccleaner y borra manualmente las claves de Java (las encuentras como Javasoft y JDK). Puedes hacer ésto ejecutando el comando Windows + R y escribiendo regedit.exe. Las claves las encuentras bajo HKEY_LOCAL_MACHINE y HKEY_CURRENT_USER, en la clave software.

2) Dirígete hacia las variables de entorno y en las variables de usuario crea una variable llamada JAVA_HOME, cuyo valor será la ruta del JDK (solo hasta la carpeta jdk1.8_40, no hasta bin). Luego crea o edita tu variable Path agregando JAVA_HOME:

[variables anteriores];%JAVA_HOME%

Acepta y guarda cambios. Ahora no deberías tener problemas para acceder al compilador y al JRE desde la terminal.


Saludos.