JAVAに基づいてシミュレートされた放物線関数を作成します
放物線シミュレーション
今日は私が自分で書いたJava放物線のシミュレーションをあなたと共有します、そしてそれはあなたに役立つかもしれません!
1つは、ランダムライブラリを使用してデータを構築する
例:最初はテストデータがありません。いくつかの初期データを構築するためにランダムライブラリを導入します
直接コーディングする
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;
}
}
2.放物線をシミュレートする関数ファイルを作成します
直接コーディングする
コードは次のとおりです(例):
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)));
//测试程序
}
}
総括する
ヒント:記事の要約は次のとおりです
。2つのファイルを分離することを忘れないでください。ランダムデータの1つはdal_cal.javaという名前で、もう1つはfunction.javaという名前です。
写真の例