Foros del Web » Programación para mayores de 30 ;) » Java »

Llenar jarra JAVA

Estas en el tema de Llenar jarra JAVA en el foro de Java en Foros del Web. Hola, buenos días. Acabo de empezar con java, y estoy un poco bastante perdido xD. Tengo que hacer un ejercicio, el cual tengo 2 jarras ...
  #1 (permalink)  
Antiguo 24/03/2014, 03:57
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 0
Llenar jarra JAVA

Hola, buenos días.
Acabo de empezar con java, y estoy un poco bastante perdido xD.
Tengo que hacer un ejercicio, el cual tengo 2 jarras y una la lleno con lo que haya en la otra.
El caso es que tengo una jarra de 7 y otra de 5, tengo que ir vaciando la jarra de 7 en la 5 sucesivamente hasta que en una de las 2 quede 1 litro de agua.
Este es mi código, pero no hace nada xD:

Código Java:
Ver original
  1. public class Jarra {
  2.     private int cantidad;
  3.     private int capacidad;
  4.     public Jarra(int capacidadinicial)
  5.     {
  6.         capacidadinicial = capacidad;
  7.         cantidad = 0;
  8.     }
  9.     public int capacidad()
  10.     {
  11.         return capacidad;
  12.     }
  13.     public int cantidad ()
  14.     {
  15.         return cantidad;
  16.     }
  17.     public void llena()
  18.     {
  19.         cantidad = capacidad;
  20.     }
  21.     public void vacia()
  22.     {
  23.         cantidad = 0;
  24.     }
  25.     public void llenaDesde(Jarra j)
  26.     {
  27.         while((j.capacidad!=0)&& (cantidad != capacidad))
  28.         {
  29.             cantidad++;
  30.             j.capacidad--;
  31.         }
  32.     }
  33.     public String toString()
  34.     {
  35.         return "La capacidad es" + capacidad + "y la cantidad es: "+ cantidad;
  36.     }
  37.     public static void main(String[] args) {
  38.         // TODO Auto-generated method stub
  39.  
  40.     }
  41.  
  42. }

Si alguien me puede ayudar, le estaría muy agradecido.
  #2 (permalink)  
Antiguo 24/03/2014, 04:46
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Llenar jarra JAVA

El metodo main es el metodo que se busca para ejecutar en los proyectos java.

Yo que tú crearía una clase Test.java donde solo tendría el main

Por otra parte a tu clase Jarra le crearia un constructor con 2 parametros capacidad y cantidad, por si quieres crear una Jarra con una cantidad inicial diferente de la capacidad y que no sea llena.

a los metodos para obtener los atributos los llamaria getCapacidad() y getCantidad()

y también crearía unos métodos setCapacidad(int capacidad) { this.capacidad = capacidad; } y setCantidad(int cantidad) { this.cantidad = cantidad}

Dentro del main crearía una jarra jarra1 con los datos de la primera jarra y otra jarra jarra2 con los datos de la segunda.

Luego le diría a la segunda que se lleme con lo que hay en la primera, mostrando los datos de cada operacion (creacion de jarras y transvase de liquido) usando el toString().
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 25/03/2014, 08:54
 
Fecha de Ingreso: abril-2012
Ubicación: Malaga
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Llenar jarra JAVA

No puedo crear nada mas que lo que hay puesto, ya que el ejercicio lo dice así.
Ya he hecho lo que me dijiste, crear otra clase con el main nada mas, ahora si funciona, pero siempre sale 0(es por el bucle de llenaDesde)
Ahora lo que no entiendo, es como puedo hacer para llenar una jarra desde la otra.
Llevo un rato dandole vueltas a la cabeza y no se que hacer.
  #4 (permalink)  
Antiguo 27/03/2014, 12:15
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Llenar jarra JAVA

Vuelve a poner tu código porque debe haber algo mal implementado.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:34.