基于JAVA创建一个模拟抛物线函数

本文介绍如何使用Java编程实现抛物线的模拟。通过引入Random库生成初始数据,构建函数模拟抛物线路径,用户输入速度、角度和点的数量,程序计算并输出对应的X、Y坐标和时间。代码分为数据计算和函数执行两部分,帮助读者理解物理原理并实践编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抛物线模拟

今天给大家分享一个我自己写的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

图片示例

数据部分的示例

数据部分剩余
function部分的数据
结果显示

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

い风花の雪栎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值