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

Como utilizar variable tipo contador de un Package y una clase diferente, en Java

Estas en el tema de Como utilizar variable tipo contador de un Package y una clase diferente, en Java en el foro de Java en Foros del Web. Buenos días señores del Foro, espero que puedan dar solución a mi pregunta, tengo un ejercicio, que calcula es pago total de productos. Mi problema ...
  #1 (permalink)  
Antiguo 12/11/2012, 23:48
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Como utilizar variable tipo contador de un Package y una clase diferente, en Java

Buenos días señores del Foro, espero que puedan dar solución a mi pregunta, tengo un ejercicio, que calcula es pago total de productos. Mi problema es el siguiente, en Netbeans he creado un proyecto con dos Package (paquete01 y paquete02) en el paquete01 tengo 2 métodos, y en el paquete02 un solo método, cuando el programa se ejecuta, solo hay una línea de codigo que no se ejecuta, por lo tanto el problema no cumple con su proposito de calular el "pagoToal".

Este es el codigo.

//COMENTARIO: Programa que lee cantidad, precio,nombre, de "n" productos y calcula el total del precio.


//Este es el primer paquete


package paquete01;


import java.util.Scanner;

public class ventasPagoTotal01
{
public Scanner escaneador01;
public Scanner escaneador02;

public double cantidad;
public double precio;
public double pagoTotal;

public double conta=1; //este es la variable contador
public double acomula=0; // esta es la variable que acomula

public String nombre;


public void ingresocantidad()
{
escaneador01=new Scanner(System.in);

System.out.println("INGRESE LA CANTIDAD DE PRODUCTOS A PROCESAR");
cantidad=escaneador01.nextDouble();


}

public void operacionProductos()
{
escaneador01=new Scanner(System.in);
escaneador02=new Scanner(System.in);

while(conta<=cantidad)
{
System.out.println("INGRESE EL NOMBRE DEL PRODUCTO: ");
nombre=escaneador02.nextLine();

System.out.println("INGRESE EL PRECIO DEL PRODUCTO: ");
precio=escaneador01.nextDouble();


acomula=acomula+precio;
conta=conta+1;
}



}





}



ESTE ES EL SEGUNDO PAQUETE


package paquete02;


import paquete01.ventasPagoTotal01;

public class ventasPagoTotal02
{


public double cantidad;
public double precio;
public double conta;
public double acomula;
public double pagoTotal;
public String nombre;

public void calculoPagoTotal()
{


pagoTotal = cantidad+acomula+(acomula*0.2); <--- ESTE ES EL CODIGO QUE NO SE EJECUTA, Y POR LO TANTO EL RESULTADO QUE DEBERIA OBTENER ES ERRADO


System.out.println("EL PAGO TOTAL ES: "+pagoTotal);


}


public static void main(String[] args)
{

ventasPagoTotal01 enlaceVentas;
enlaceVentas=new ventasPagoTotal01();

enlaceVentas.ingresocantidad();
enlaceVentas.operacionProductos();



ventasPagoTotal02 enlaceVentas02;
enlaceVentas02=new ventasPagoTotal02();

enlaceVentas02.calculoPagoTotal();



}


}
  #2 (permalink)  
Antiguo 13/11/2012, 00:30
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Como utilizar variable tipo contador de un Package y una clase diferente,

Hola:

Ese código sí se ejecuta, pero no da el resultado que quieres. El problemas es que tienes dos variables acomula en dos clases distintas ventasPagoTotal01 y ventasPagoTotal02. El que tengan el mismo no nombre no hace que sean la misma variable. Estas guardando todo en la de ventasPagoTotal01 y luego intentas escribir la de ventaPagoTotal02 que no tiene nada.

Borra la clase ventasPagoTotal02 y pon su método calculoPagoTotal en ventasPagoTotal01

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 13/11/2012, 19:30
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Como utilizar variable tipo contador de un Package y una clase diferente,

Hola, que tal chuidiang, gracias por interesarte y darte el tiempo de verificar y responder a mi interrogante

Comprendo tu respuesta, y ahora se el porque el programa no da el resultado que quiero. Con respecto a la sugerencia de traspasar el método calculoPagoTotal a ventasPagoTotal01, ya lo hice antes de hacer la pregunta al foro, y sí, se que el programa se ejecuta sin errores y me da el resultado que deseo (dejo el código líneas más abajo).


Mi interrogante era como hago o que modifico para que un pedazo de mi código dentro de dos paquetes, se una y ejecuten correctamente.

Por ejemplo: digamos que el código que dejo líneas más a bajo, lo deseo dividir para que este en dos paquetes diferentes (o en "n" paquetes) y al unirlos, se ejecute sin ningun inconveniente.





package paquete01;



import java.util.Scanner;

public class ventasPagoTotal01
{
public Scanner escaneador01;
public Scanner escaneador02;

public double cantidad;
public double precio;
public double pagoTotal;

public double conta=1;
public double acomula=0;

public String nombre;


public void ingresocantidad()
{
escaneador01=new Scanner(System.in);

System.out.println("INGRE LA CANTIDAD DE PRODUCTOS A PROCESAR");
cantidad=escaneador01.nextDouble();


}

public void operacionProductos()
{
while(conta<=cantidad)
{
escaneador02=new Scanner(System.in);
escaneador01=new Scanner(System.in);
System.out.println("INGRESE EL NOMBRE DEL PRODUCTO: ");
nombre=escaneador02.nextLine();

System.out.println("INGRESE EL PRECIO DEL PRODUCTO: ");
precio=escaneador01.nextDouble();

acomula=acomula+precio;

conta=conta+1;
}

}



public void calculoPagoTotal()
{

pagoTotal=cantidad+acomula+(acomula*0.2);
System.out.println("EL PAGO TOTAL ES: "+pagoTotal);
}


public static void main(String[] args)
{
ventasPagoTotal01 enlaceVentas;

enlaceVentas=new ventasPagoTotal01();

enlaceVentas.ingresocantidad();
enlaceVentas.operacionProductos();
enlaceVentas.calculoPagoTotal();

}
}
  #4 (permalink)  
Antiguo 13/11/2012, 21:53
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Como utilizar variable tipo contador de un Package y una clase diferente,

Pues volviendo al código como lo tenías en el primer post, pásale a la clase ventasPagoTotal02 los datos que necesita para hacer la operación en calculoPagoTotal(). Puedes hacerlo añadiendo parámetros en el constructor de esa clase, o bien pasándolos como parámetros en el método calculoPagoTotal.

Como esos datos los tiene la clase ventasPagoTotal01, tendrás que poner métodos getter para pedírselos

Código java:
Ver original
  1. public static void main(String[] args)
  2. {
  3.  
  4. ventasPagoTotal01 enlaceVentas;
  5. enlaceVentas=new ventasPagoTotal01();
  6.  
  7. enlaceVentas.ingresocantidad();
  8. enlaceVentas.operacionProductos();
  9.  
  10.  
  11.  
  12. ventasPagoTotal02 enlaceVentas02;
  13.  
  14. // Tienes que hacer el código del constructor con 2 parámetros y los dos métodos get.
  15. enlaceVentas02=new ventasPagoTotal02(enlaceVentas.getCantidad(), enlaceVentas.getAcomula());
  16.  
  17. enlaceVentas02.calculoPagoTotal();
  18.  
  19.  
  20.  
  21. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 13/11/2012, 22:30
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Como utilizar variable tipo contador de un Package y una clase diferente,

Hola de nuevo chuidiang, gracias por seguir con mis interrogantes, al aumentar los parametros y los métodos get, que me sugieres, me bota error en la línea en las cual los implemento.



Mensaje del error:
[Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous ctor sym type: <any>
at paquete02.ventasPagoTotal02.main(ventasPagoTotal02 .java:40)
Java Result: 1]



public static void main(String[] args)
{

ventasPagoTotal01 enlaceVentas;

enlaceVentas=new ventasPagoTotal01();

enlaceVentas.ingresocantidad();
enlaceVentas.operacionProductos();




ventasPagoTotal02 enlaceVentas02;

//aumente como me explicas, y me vota error

enlaceVentas02=new ventasPagoTotal02(enlaceVentas.getCantidad(), enlaceVentas.getAcomula());

enlaceVentas02.calculoPagoTotal();


}
  #6 (permalink)  
Antiguo 14/11/2012, 02:35
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Como utilizar variable tipo contador de un Package y una clase diferente,

Huele a que tienes algo mal compilado, mezclando fuentes con .class antiguos o versiones de java o algo raro.

Asegúrate de borrar todos los .class y recompilar el proyecto desde cero. Revisa también mayúsculas y minúsculas en nombres de clase, package e import, deben coincidir con ficheros .java y directorios donde están guardados.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 14/11/2012, 12:14
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Como utilizar variable tipo contador de un Package y una clase diferente,

Bueno, seguire investigando más profundamente como trabajar con Package, gracias, me ayudaste a despejar algunas dudas. Suerte.

Etiquetas: clase, contador, diferente, netbeans, package, programa, string, tipo, variables
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 04:49.