基于JAVA创建一个模拟抛物线函数
抛物线模拟
今天给大家分享一个我自己写的Java的抛物线的模拟,也许会对你有所帮助!
一、用Random库构建我们的数据
示例:一开始是没有测试数据的,我们引入Random库来构建一些初始数据
直接上代码
package 函数模拟;
import java.math.*;
import java.lang.*;
class data_cal {
private double vel_1,vel_2,vel,ang;
//private static int e=1;
private double time;
public double[] Calculate(double vel,double ang,double num){
double a,X,Y,b,A,B,interval;
double [] n={1,2,3};
vel_2=vel*Math.sin(Math.toRadians(ang));
vel_1=vel*Math.cos(Math.toRadians(ang));
time=vel_2/5;
//a=(vel*vel)*(Math.sin(Math.toRadians(ang*2)))/20;
a=vel_1*vel_2/5;
double H=vel_2*vel_2/20;
b=-a*a;
A=-4*(a*a*H/(b*b));
interval=time/(num-1);
for(int l=0;l<num;l++)
{
time=interval*l;
X=vel_1*time;
Y=A*(X-a)*X;
n[0]=X;
n[1]=Y;
n[2]=time;
System.out.println("X,Y和时间T的数据分别是:");
for(double o:n)
{
System.out.printf("%.2f\n",o);
}
}
return n;
}
}
二、构建我们的Function文件来模拟抛物线
直接上代码
代码如下(示例):
package 函数模拟;
import java.util.regex.*;
import java.math.*;
import java.util.Scanner;
public class function {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入速度:");
Scanner vel=new Scanner(System.in);
double velocity=vel.nextDouble();
if(velocity<=0)
{
System.out.printf("速度还能输错吗,要注意哦!");
return;
}
System.out.println("请输入角度:");
Scanner ang=new Scanner(System.in);
double angle=ang.nextDouble();
if(angle<=0)
{
System.out.printf("角度最好不要负数哟\n");
}
System.out.println("请输入点个数:");
Scanner num=new Scanner(System.in);
double number=num.nextDouble();
if(number<=0)
{
System.out.printf("个数还能输错吗,要注意哦!");
return;
}
data_cal data=new data_cal();
data.Calculate(velocity,angle,number);
//System.out.println(Math.sin(Math.toRadians(angle)));
//测试程序
}
}
总结
提示:这里对文章进行总结:
一定要记得分开两个文件哈,我的一个第一个Random数据的命名为dal_cal.java,第二个命名为function.java
图片示例