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

#151
Java / Re: Error con char y métodos listas
15 Marzo 2015, 16:17 PM
Pocas veces he tenido que recurrir al do/while, desde mi punto de vista, veo bastante mas sencillo hacerlo con el while, es como mas entendible.

Pues esa función get que dices, es propia de la clase ArrayList y lo que hace es devolver un objeto dentro del ArrayList, por ejemplo:

Código (java) [Seleccionar]
ArrayList array = new ArrayList();

Si yo quisiera obtener algo del array lo haría así:

Código (java) [Seleccionar]
array.get(0);

Ahí estaría obteniendo un objeto que esta en la posicion 1, funciona igual que con los Arrays tradicionales, tu metes y sacas los valores.

En cuanto a lo de:
CitarPero, se me ha olvidado comentar que lo que tengo que mostrar son los empleados que no tengan ningún dato igual que otro, osea, si uno tiene de sueldo 1000, y otro también tiene 1000, que sólo muestre uno, aunque se llamen diferente.  O sea, que no muestre datos repetidos.

Acá tienes que usar un poco mas de lógica, yo lo hice de la siguiente manera,
Seria bueno que le heches un ojo y lo intentes hacer de nuevo basándote en este código:

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
       
       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;
               }
           }
           
           //Se fija el valor de la variable mostrarEmpleadoActual, si es verdadero mostramos el empleado
           if(mostrarEmpleadoActual) {
               valores[i] = empleados.get(i).getSueldo();
               empleados.get(i).get();
           }
       }
   }
}



Lo único que he hecho acá fue cambiar agregar un array de int y modificar totalmente el ciclo for del final.

Código (java) [Seleccionar]

public int getSueldo() {
       return this.sueldo;
   }


Este metodo deberás agregarlo a la clase Empleado.

Si no entiendes algo, comenta la duda.

Salu2  ;)
#152
Java / Re: Error con char y métodos listas
15 Marzo 2015, 03:24 AM
Para no ser repetitivo, he modificado un poco tu código. El código cumple la misma finalidad, solo que esta implementado de otra manera, te recomiendo que lo veas xD:

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;
           }
       }

       for(int i = 0; i < empleados.size(); i++){
        empleados.get(i).get();
       }
   }
}



Y esta es la clase Empleado, mira que he creado mi método get.

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");
       }
   }
}



Salu2.
#153
No creo que lo vaya a usar, pero es muy útil saberlo xD
Muchas gracias una vez mas Gus  ;)
Saludos
#154
Java / [Duda]Mas de una clase en un fichero
13 Marzo 2015, 18:41 PM
Hola gente, aquí yo otra vez con una duda, esta vez acerca de clases.

Todas las veces que he hecho programas, hacia 1 clase por fichero, nunca lo he hecho con mas de 1 clase por fichero.

La duda es ¿Es lo mismo tener mas de una clase en un mismo fichero? ¿Que diferencia hay con la manera tradicional?
#155
Muchas gracias por la aclaracion Gus.
Un saludo  ;D
#156
¿Que alguien me corrija si me equivoco?
No quiero engañar a nadie  ;D
#157
Me acabo de fijar en la API de Android y lo que pasa es que Android agrega algunas librerías de Java. Si intentan usar Swing para crear JFrames o JButtons es obvio que no les va a andar, pero hay algunas librerías de Java que Android si agrego a su API, como por ejemplo:
java.util
java.sql
java.math


Y algunas mas.
Si quieren ver mas, visiten la API de Android:
http://developer.android.com/reference/packages.html

Espero que les sirva, saludos.
#158
He hecho la prueba, lo que hice fue hacer un pequeño programa el cual tiene un ListView(Lista)  y desde un "ArrayList" cargo las palabras que contendrá la lista. El codigo me quedo así:

Código (java) [Seleccionar]

protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       String str = "Hola mundo, estoy probando librerias de Java en Android, I am try libraries Java in Android";
       String[] str2 = str.split("");
       ArrayList<String> array = new ArrayList<String>();

       for(int i = 0; i < str2.length; i++) {
           array.add(str2[i]);
       }

       String[] arrayList = new String[array.size()];

       for(int i = 0; i < array.size(); i++) {
           arrayList[i] = array.get(i);
       }

       listView = (ListView) findViewById(R.id.listView);
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arrayList);
       listView.setAdapter(adapter);
   }


Y estos fueron los import que hice:

Código (java) [Seleccionar]
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;


Si se fijan importe la libreria import java.util.ArrayList, la cual es del JDK de Java. Probé el programa en un emulador y si que funciono, me cargo la lista con los elementos del ArrayList que instancie.

Ahora lo voy a probar en un teléfono físico con Android 2.3.6 y les comento.
#159
Exacto, Android tiene sus propias librerías, pero estoy acostumbrado a usar librerías del JDK de Java como por ejemplo ArrayList y alguna que otra mas, ya que es mucho mas cómodo trabajar así(al menos para mi). Igual Android trae las suyas propias pero aún no conozco muchas de ellas.
#160
Por ejemplo algunas clase de Java.util como ArrayList, La única librería que he usado es Java.lang pero ¿Se pueden usar otras mas? ¿Cuales son?