class TiroParabolico
{

public static void main(String args[])
{

if(args.length != 2)
{

System.out.println("ERROR: ingresa la velocidad y el angulo incial :\n");

}
else
{

double velocidad = Integer.parseInt(args[0]);
double angulo = Integer.parseInt(args[1]);

Calculos calculos = new Calculos();
calculos.Operaciones(angulo, velocidad);

}

}

}

 

class Calculos
{

double Angulo;
double Altura;
double Velocidadi;
double Distancia;
double Velocidadx;
double Velocidady;
double Velocidadf;
double Tiempo;

public void Operaciones(double angulo, double velocidad)
{

Angulo = angulo;
Velocidadi = velocidad;
System.out.println("Distancia recorrida : "+Distancia()+" m");
System.out.println("Tiempo de recorrido : "+Tiempo()+" s");
System.out.println("A una velocidad de : "+Velocidad()+" m/s");
System.out.println("Con una altura maxima de : "+Altura()+" m");

}

double Distancia()
{

Distancia = ((Math.pow(Velocidadi,2)*(Math.sin(Math.toRadians(Angulo*2))))/9.81);
return Distancia;

}

double Tiempo()
{

Tiempo = ((2*Velocidadi)*(Math.sin(Math.toRadians(Angulo))))/9.81;
return Tiempo;

}

double Velocidad()
{

Velocidadx = (Velocidadi*Math.cos(Math.toRadians(Angulo)));
Velocidady = (Velocidadi*Math.sin(Math.toRadians(Angulo)) - 9.81*Tiempo);
Velocidadf = (Math.sqrt(Math.pow(Velocidadx,2)+Math.pow(Velocidady,2)));
return Velocidadf;

}

double Altura()
{

Altura = ((Math.pow(Velocidadi,2)*Math.pow(Math.sin(Math.toRadians(Angulo)),2))/(9.81*2));
return Altura;

}

}