Foro de elhacker.net

Programación => Java => Mensaje iniciado por: LoQueSeaPI en 25 Enero 2017, 02:34 am



Título: Necesito ayuda con un problema que se que debe de ser tonto
Publicado por: LoQueSeaPI en 25 Enero 2017, 02:34 am
Hola a todos, estoy empezando en Java y bien he estado haciendo ejercicio extremadamente simples, como encontrar áreas y cosas así. El punto es que leí acerca de la herencia y la he querido aplicar aunque sean ejercicio tontos, más que nada para acostumbrarme al paradigma, bien el programa me corre sin ningún inconveniente excepto porque el único dato que leo por teclado me lo solicita dos veces, supongo que es porque tengo una subclase y se produce al llamar a la superclase (donde se lee, dentro del constructor), bien ya me enredé espero que entiendan, les dejaré el código:
Archivo 1:
Código
  1. public class Main {
  2.  
  3. public static void main(String[] args) {
  4. Lectura l = new Lectura();
  5. Operaciones o = new Operaciones();
  6.  
  7. System.out.println("El area de la circunferencia con radio " + l.getRadio() + " es: " + o.getArea());
  8. System.out.println("La longitud de la cirfunferencia con radio " + l.getRadio() + " es: " + o.getLongitud());
  9. }
  10. }
  11.  


Archivo 2:
Código
  1. import java.util.Scanner;
  2.  
  3. public class Lectura {
  4. private Double Radio;
  5. private Scanner L = new Scanner(System.in);
  6.  
  7. public Lectura() {
  8. System.out.print("Ingrese el valor del radio: ");
  9. Radio = L.nextDouble();
  10. }
  11.  
  12. public Double getRadio() {
  13. return Radio;
  14. }
  15.  
  16. public void setRadio(Double Radio) {
  17. this.Radio = Radio;
  18. }
  19.  
  20. }
  21.  

Archivo 3:
Código
  1. public class Operaciones extends Lectura {
  2.  
  3. public Operaciones() {
  4. super();
  5. }
  6.  
  7. public Double getArea() {
  8. return Math.PI * Math.pow(super.getRadio(), 2);
  9. }
  10.  
  11. public Double getLongitud() {
  12. return 2 * Math.PI * super.getRadio();
  13. }
  14.  
  15. }
  16.  

Ayuda porfa.



Título: Re: Necesito ayuda con un problema que se que debe de ser tonto
Publicado por: PabloPbl en 25 Enero 2017, 06:11 am
Si la clase Operaciones va a heredar de Lectura no es necesario crear una instancia de la clase Lectura, es por eso que te pide 2 veces el radio.

Prueba el método main asi:

Código
  1. public static void main(String[] args) {
  2.            Operaciones o = new Operaciones();
  3.  
  4.            System.out.println("El area de la circunferencia con radio " + o.getRadio() + " es: " + o.getArea());
  5.            System.out.println("La longitud de la cirfunferencia con radio " + o.getRadio() + " es: " + o.getLongitud());
  6. }
  7.  

Saludos.


Título: Re: Necesito ayuda con un problema que se que debe de ser tonto
Publicado por: LoQueSeaPI en 25 Enero 2017, 19:30 pm
Si la clase Operaciones va a heredar de Lectura no es necesario crear una instancia de la clase Lectura, es por eso que te pide 2 veces el radio.

Prueba el método main asi:

Código
  1. public static void main(String[] args) {
  2.            Operaciones o = new Operaciones();
  3.  
  4.            System.out.println("El area de la circunferencia con radio " + o.getRadio() + " es: " + o.getArea());
  5.            System.out.println("La longitud de la cirfunferencia con radio " + o.getRadio() + " es: " + o.getLongitud());
  6. }
  7.  

Saludos.

Mil gracias! :3 Mi problema está resuelto  :xD :D