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

#141
Lo que quiero lograr es que aplicación se maximice al tocar una combinación de teclas.

Investigando por la web vi que decían que no es posible y que Java es un poco limitado en estas cosas que se hacen directamente con el SO y que se debía hacer uso de librerías de C/C++ pero no dieron mas información.

Se algo de C y C++ gracias a mis conocimientos de Java, pero muy básico.

¿Me podrían orientar un poco como hacerlo?

Y otra cosa ¿Como es posible hacer librerías con C y C++ para poder usarlas en Java?
#142
Java / Re: Error con char y métodos listas
16 Marzo 2015, 04:32 AM
Osea en vez de hacer esto:

Código (java) [Seleccionar]

Scanner scaner = new Scanner(System.in);
int edad = scaner.nextInt();
String nombre = scaner.nextLine();


Si no me equivoco debería hacer esto  ;D

Código (java) [Seleccionar]

Scanner scaner = new Scanner(System.in);
        int edad = scaner.nextInt();
        scaner.nextLine();
        String nombre = scaner.nextLine();


Pero me gusta mas todo con nextLine y de ahí convierto todo a sus respectivos tipos.

Salu2 crack!!
#143
Java / Re: Error con char y métodos listas
16 Marzo 2015, 03:32 AM
Hola Gus, estuve viendo un poco tu código y vi una parte en la que obtenías los datos desde la clase Scanner:

Código (java) [Seleccionar]
System.out.println("Ingrese el ID del nuevo empleado");
employee.setId(Short.valueOf(reader.nextLine()));
System.out.println("\nIngrese sus nombres:");
employee.setNames(reader.nextLine());
System.out.println("\nIngrese sus apellidos");
employee.setSurnames(reader.nextLine());
System.out.println("Ingrese su salario");
employee.setSalary(Double.valueOf(reader.nextLine()));
employeeList.add(employee);
System.out.println("\n¿Desea seguir agregando empleados? S/N");
option = reader.nextLine();


y la pregunta es, ¿La clase Scanner solo puede obtener un tipo de dato en particular?

¿Esto estaría mal?
Código (java) [Seleccionar]

Scanner scanner = new Scanner(System.in);
String nombre = sca.nextLine();
int edad = sca.nextInt();


Y ¿Esto estaría bien?
Código (java) [Seleccionar]

Scanner scanner = new Scanner(System.in);
String nombre = sca.nextLine();
int edad = Integer.parseInt(sca.nextLine());


La duda surge, por que estaba haciendo un par de cosas con esta clase y pues obtenía datos diferentes y me daba error, pero no si era por eso.
#144
Java / Re: Error con char y métodos listas
15 Marzo 2015, 22:38 PM
Te he enviado un MP  ;).
#145
Java / Re: Error con char y métodos listas
15 Marzo 2015, 21:32 PM
Mira este Código:


Clase 1:

Código (java) [Seleccionar]

import java.util.ArrayList;
import java.util.Scanner;

public class Clase1 {
   
    public static void main(String[] args) {
        ArrayList<Empleado> empleados = new ArrayList<Empleado>();

        Scanner s = new Scanner(System.in);

        while(true) {
            System.out.print("Introduce el nombre del empleado: ");
            String nombre = s.next();
            System.out.println();

            System.out.print("Introduce su sueldo: ");
            int sueldo = s.nextInt();
            System.out.println();

            empleados.add(new Empleado(nombre, sueldo));

            System.out.println("¿Quieres añadir algún empleado más? (S/N)");
            String respuesta = s.next();
            if(respuesta.equalsIgnoreCase("n")) {
                break;
            }
        }
       
        int[] valores = new int[empleados.size()];//En este array vamos guardando todos los valores de los empleados a medida que lo mostramos
        String[] empleadosImprimidos = new String[empleados.size()];
       
        for(int i = 0; i < empleados.size(); i++){//Recorremos todos los empleados agregados
            boolean mostrarEmpleadoActual = true;//Inidicamos si mostramos el usuario actual o no
           
            //Este ciclo se fija si el empleado actual tiene el mismo sueldo que otro empleado, si es asi cambia el valor de la variable
            //mostrarEmpleadoActual por false
            for (int i2 = 0; i2 < valores.length; i2++) {
                if(empleados.get(i).getSueldo() == valores[i2]) {
                    mostrarEmpleadoActual = false;
                    break;
                }
            }
           
            if(mostrarEmpleadoActual == true) {
                for(int i3 = 0; i3 < empleadosImprimidos.length; i3++) {
                    if(empleados.get(i).getNombre().equals(empleadosImprimidos[i3])) {
                        mostrarEmpleadoActual = false;
                        break;
                    }
                }
            }
           
            //Se fija el valor de la variable mostrarEmpleadoActual, si es verdadero mostramos el empleado
            if(mostrarEmpleadoActual) {
                valores[i] = empleados.get(i).getSueldo();
                empleadosImprimidos[i] = empleados.get(i).getNombre();
                empleados.get(i).get();
            }
        }
    }
}


Clase Empleado:
Código (java) [Seleccionar]


class Empleado {
    private String nombre;
    private int sueldo;

    public Empleado(String nombre, int sueldo){
            this.nombre = nombre;
            this.sueldo = sueldo;
    }
   
    public void get() {
        if(sueldo > 1) {
            System.out.println("Este empleado se llama "+this.nombre+" y su sueldo es de "+this.sueldo+" dolares por mes");
        }
        else if(sueldo >0) {
            System.out.println("Este empleado se llama "+this.nombre+" y su sueldo es de "+this.sueldo+" dolar por mes");
        }
        else{
            System.out.println("Este empleado se llama "+this.nombre+" y no tiene sueldo");
        }
    }
   
    public int getSueldo() {
        return this.sueldo;
    }
   
    public String getNombre() {
        return this.nombre;
    }
}



Este Código hace todo lo que quieres, tan solo tuve que modificar el for y agregar un array de String y problema solucionado.

Prueba haber que tal.

Salu2.
#146
Java / Re: Error con char y métodos listas
15 Marzo 2015, 20:08 PM
Y tendrías que hacer algo parecido a lo que hice con el sueldo, si entendiste el código no debería ser un problema.

Cualquier duda me dices.
#147
Java / Re: Error con char y métodos listas
15 Marzo 2015, 18:49 PM
^^ exactamente es así como dices xD

En cuanto al método repetido, si que lo llama para hacer comprobaciones con el if:

Código (java) [Seleccionar]
if(!repetido(empleados, nombre, sueldo)){
                empleados.add(new Empleado(nombre, sueldo));
           }


Ya que ese método devuelve un boolean y sirve para validar.

Salu2.
#148
Java / Re: [Aporte] Mejores practicas en Java
15 Marzo 2015, 17:34 PM
Muy bueno, la mayoría de ellas las aplico en mis programas y he notado que el código queda mas prolijo y legible.

Salu2.
#149
Java / Re: Error con char y métodos listas
15 Marzo 2015, 17:11 PM
Cuando tu guardas objetos en un ArrayList y quieres llamar a un método de algún objeto o cambiarle algún atributo, primero tienes que referenciarte a dicho objeto y luego llamar a los métodos o atributos del mismo.

El clase ArrayList tiene un metodo get que te devuelve la referencia al objeto para poder manipularlo y cambiarle los atributos del objeto, como dije anteriormente es lo mismo que hacerlo asi:

Código (java) [Seleccionar]
Empleado empleado1 = new Empleado("Baal_30", 4000);
empleado1.get();


y asi se haria con un arrayList:

Código (java) [Seleccionar]

ArrayList array = new ArrayList();
array.add(new Empleado("Baal_30", 4000));
array.get(0).get();
#150
Java / Re: Error con char y métodos listas
15 Marzo 2015, 17:04 PM
Cuando yo estoy haciendo esto:

Código (java) [Seleccionar]
empleados.get(i).get();

Estoy haciendo referencia al objeto en la posición X del ArrayList con el metodo get y pasandole como parámetro el objeto que quiero hacer referencia, fíjate esto:

Código (java) [Seleccionar]
Empleado empleado1 = new Empleado("Baal_30", 4000);
empleado1.get();


Acá estoy creando un objeto y abajo estoy haciendo referencia al objeto creado y llamando a su metodo.

CitarY respecto al código, he tenido que mirarmelo varias veces, me cuesta entenderlo haha :/ pero, tampoco se pueden repetir los nombres, no sólo el sueldo... ¿tendría que hacer dos arrays y dos blucles for más? :/

Pero quieres que no se puedan crear 2 empleados con el mismo nombre o que no se repitan cuando los imprimo??.