Fibonacci数列及笛卡尔坐标实验_第1页
Fibonacci数列及笛卡尔坐标实验_第2页
Fibonacci数列及笛卡尔坐标实验_第3页
Fibonacci数列及笛卡尔坐标实验_第4页
Fibonacci数列及笛卡尔坐标实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、实验目的及要求(1) 熟悉Jbuilder的开发环境,学会Jbuilder基础的操作和调试。(2) 熟悉Java程序的简单开发。(3) 熟悉Java的基本数据类型以及基本程序控制结构。(4) 熟悉类的编写,对象的声明,对象实例化以及对象的初始化。(5) 掌握类与对象之间的关系,学会对象之间的相互调用。二、.实验内容:(1) 编写一个Java程序,用于输出Fibonacci数列的前20项。(2) 编写程序计算三门课的平均成绩,要求应用程序分别用Java语言三种不同的循环语句实现,每门课的成绩用Math类的random()方法随机产生(random()产生的数值在0和1之间),成绩范围为401

2、00。(3) 将笛卡尔坐标系上的点定义为一个服务类Point,Point类提供求得坐标系上两点间距离的功能、获取和设置坐标的功能、获取极坐标的功能,和完成对已创建的Point类对象统计功能。设计测试Point服务类的应用程序主类,测试并显示输出提供功能的结果。三、实验主要流程、基本操作或核心代码、算法片段 主函数:public class Test public static void main(String args) Fib fibnachi=new Fib(); Random grade= new Random(); Dikaerji dik=new Dikaerji(); fibnac

3、hi.Print(); System.out.print("n"); duct_1(); duct_2(); duct_3(); dik.TestPoint();class Fib public int array=new int20; public int fib(int n) if(n=1 | n=2)return 1; else return fib(n-1)+fib(n-2); public void Print() for(int i=0;i<20;i+) arrayi=fib(i+1); for(int

4、 i=0;i<20;i+) System.out.print(arrayi+" "); import java.lang.Math;class Random int grading=new int3; int i=0; int sum=0; double average=0.0; public void product_1() for(i=0;i<3;i+) gradingi=100-(int)(Math.random()*40); sum=+gradingi; System.out.print(gradingi+"tt"); average

5、= sum/3.0; System.out.print(average+"n"); public void product_2() int i=0; while(i<3) gradingi=100-(int)(Math.random()*40); sum=+gradingi; System.out.print(gradingi+"tt"); i+; average= sum/3.0; System.out.print(average+"n"); public void product_3() int i=0; do gradin

6、gi=100-(int)(Math.random()*40); sum=+gradingi; System.out.print(gradingi+"tt"); i+; while(i<3); average= sum/3.0; System.out.print(average+"n"); import java.io.*;class Dikaerji double p1_x; double p1_y; double p2_x; double p2_y; public void TestPoint() System.out.println("

7、;请分别输入两点,系统将输出两点之间的距离:"); try System.out.print("请输入第一个点的横坐标:"); BufferedReader in = new BufferedReader(new InputStreamReader(System.in); String inputLine1 = in.readLine(); p1_x=Double.valueOf(inputLine1).doubleValue(); System.out.print("请输入第一个点的纵坐标:"); String inputLine2 = in

8、.readLine(); p1_y=Double.valueOf(inputLine2).doubleValue(); System.out.print("请输入第二个点的横坐标:"); String inputLine3=in.readLine(); p2_x=Double.valueOf(inputLine3).doubleValue(); System.out.print("请输入第二个点的纵坐标:"); String inputLine4=in.readLine(); p2_y=Double.valueOf(inputLine4).doubleV

9、alue(); catch(Exception exc) System.out.println("用户输入有误!"); return; point p1=new point(p1_x,p1_y); point p2=new point(p2_x,p2_y); System.out.println("点1的坐标是:("+p1.getX()+","+p1.getY()+")"); System.out.println("点2的坐标是:("+p2.getX()+","+p2.get

10、Y()+")"); System.out.println("第1个点的极坐标是:("+p1.get_r()+","+p1.get_Angle()+")"); System.out.println("第2个点的极坐标是:("+p2.get_r()+","+p2.get_Angle()+")"); System.out.println("点1("+p1_x+","+p1_y+")"+"和点2

11、("+p2_x+","+p2_y+")之间的距离:"+p1.TwoPointDis(p1,p2); System.out.println("点2("+p2_x+","+p2_y+")"+"相对于点1("+p1_x+","+p1_y+")的极坐标为:("+p2.TwoPoint_r(p1, p2)+","+p2.TwoPoint_Angle(p1, p2)+")"); class poin

12、t public double point_x; public double point_y; public void setXY(double x,double y) point_x=x; point_y=y; public double getX() return point_x; public double getY() return point_y; public point(double point_x,double point_y) this.point_x=point_x; this.point_y=point_y; public double TwoPointDis(point

13、 p1,point p2) return Math.sqrt(p1.point_x-p2.point_x)*(p1.point_x-p2.point_x)+(p1.point_y-p2.point_y)*(p1.point_y-p2.point_y); / 获取极坐标public double get_Angle()return Math.atan(point_y/point_x);public double get_r()return Math.sqrt(point_x*point_x)+(point_y*point_y); /点2相对于点1的极坐标public double TwoPoin

14、t_Angle(point p1,point p2)return Math.atan(p2.point_y-p1.point_y)/ (p2.point_x-p1.point_x);public double TwoPoint_r(point p1,point p2)return TwoPointDis(p1,p2);四、实验结果的分析与评价(该部分如不够填写,请填写至附页)实验结果: 注:实验成绩分为(90100分)优,(8089分)良,(7079)中,(6069分)及格,(59分)不及格。实验评价:在java中只能有一个主函数,在编写程序时,主函数中主要调用相关实现功能的类,从而实现要求。在这个实验中我用每个题分别写成一个类,然后再写了一个主函数的类,在主函数中分别定义三个类并且调用类的相关方法。在第二题中,要求用三种不同的循环方法,因此在类中写了三个方法,在主函数中分别调用这三个方法。第三题要求计算两点的距离和极坐标,因而用了java中的相关输入输出和有关数学函数的包,可见在 java中将许多函数封装成包,方便我们调用,此外还

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论