import java.util.Scanner;
public class Methods {
    static double base, altura, area;
    static Scanner in = new Scanner(System.in);
    // public static void getBase(float *base) { ERR: En Java no hay punteros
    /*
     * IMPORTANTE:
     * - Las variables siempre se pasan por valor.
     * - Los objetos siempre se pasan por referencia.
     */
    public static double getBase() {
        System.out.print("- Intro base: ");
        return in.nextDouble();
    }
    public static double getAltura() {
        System.out.print("- Intro altura: ");
        return in.nextDouble();
    }
    // base y altura se pasan por valor como en C (se pasa una copia)
    public static double calculaArea(double base, double altura) {
        return base * altura / 2;
    }
    public static void main(String[] args) {
        do {    // Breakpoint y debugar para ver las variables static
            System.out.println("Vamos a calcular el area de un triangulo. :-)");
            base = getBase();   // LOS METODOS STATIC NO TIENEN "this"
            altura = getAltura();
            area = calculaArea(base, altura);
            System.out.println("El area de un triangulo de base " + base
                    + " y altura " + altura + " es " + area + ".");
        } while (area != 0);
        System.out.println("No me gustan los triangulos de area zero. ;-P");
    }
}
