Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/05/2014, 20:06
franzua
 
Fecha de Ingreso: agosto-2011
Mensajes: 33
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: (Principiante) Cómo declarar objetos de una clase?

Gracias, ese era el problema principal.. Ahora tengo un error más, agregué dos objetos más, uno que calcule pitágoras y otro que calcule el area. Puedo ejecutralo sin problemas, pero no puedo leer la variable que retorna pitágoras desde el objeto del área:

Código:
    public static void main(String[] args) {
        // Recibe lado de un triangulo y devuelve perimetro y área
        int lado, altura;
        System.out.println("Ingrese el valor del lado:");
        lado = TecladoIn.readLineInt();
        System.out.println("El perimetro del triángulo es: " +perimEq(lado));
        altura = (int) pitagoras(lado); // !! Método para hacer que areaEq() reconozca "altura"
        System.out.println("La altura del triángulo es: " +altura);
        System.out.println("El área del triángulo es: " +areaEq(lado, altura));
    }
    
    public static int perimEq(int lado) {
        // Calcula el perimetro
        int perimetro;
        perimetro = lado * 3;
        return perimetro;
    }
    
    public static double pitagoras(int lado) {
        //Calcula la altura con pitágoras lado^2 - (lado/2)^2
        double cuadrado, raiz, altura;
        cuadrado = Math.pow(lado, 2) - Math.pow(lado / 2, 2); // lado^2 - (lado/2)^2
        raiz = Math.sqrt(cuadrado); // Calcula la raiz
        altura = raiz; // Conversión de variables
        return (int) altura; // Conversión a entero !! Variable que no reconoce areaEq
    }
    
    public static int areaEq(int lado, int altura) {
        // Calcula el área
        int area;
        area = lado * altura;
        return area;
    }
}
El error acá es que por alguna razón areaEq no me reconoce a altura desde pitágoras, tengo que declararla en el main para que ahí sí sea reconocida por areaEq(lado, altura), de otra forma simplemente tira error. ¿Será por el hecho de haberla pasado a entero?