实验一 程序设计基础及算法.doc_第1页
实验一 程序设计基础及算法.doc_第2页
实验一 程序设计基础及算法.doc_第3页
实验一 程序设计基础及算法.doc_第4页
实验一 程序设计基础及算法.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

实验报告一 JAVA程序设计基础及算法设计一、 实验目的:(1) 掌握JAVA语言的语法,理解数组和对象的引用模型,理解类的封装、继承和多态(2) 掌握类的设计方法(3) 掌握异常处理方法和标准输出方法,了解标准输入方法(4) 熟悉算法的描述方法、算法时间复杂度的分析和计算方法(5) 理解数据和算法的基本概念二、 实验内容:1、 采用二维数据输出杨辉三角形,二维数据的结构如图1所示: 0 1 2 3 4 511112113311464115101051mat mat0mat1mat2mat3mat4mat5图1 杨辉三角形的二维数组结构请粘贴源程序及运行测试结果:源程序:package Q1;public class Test public static void main(String args) int y=new int 1111;y11=y21=y22=1;for(int i=3;i=6;i+)yi1=1;yii=1;for(int i=3;i=6;i+)for (int j=2;ji;j+)yij=yi-1j-1+yi-1j;for (int i=1;i=6;i+)for (int j=1;j=i;j+)System.out.printf(%5d,yij);System.out.println();运行结果:2、 找出一个二维数据的鞍点,即该位置上的元素在该行上最大,在该列中最小。一个二维数组可能没有鞍点,如果有,那么它只有一个鞍点。请粘贴源程序及运行测试结果:package Q2;public class Test public static void fun_min(int a,int max)int flag=0;int cols=max2;int min=a0cols;for(int rows=0;rows5;rows+)if(arowscolsmax0)flag=1;if(flag=0)max1+;max2+;System.out.println(point=+max0+ ,rows=+max1+ ,cols=+max2);public static void fun_max(int a)int max=new int 3;int rows,cols;for(rows=0;rows5;rows+)max0=arows0;max1=rows;max2=0;for(cols=0;colsmax0)max0=arowscols;max1=rows;max2=cols;fun_min(a,max);public static int init()int a =new int 55;for(int i=0;i5;i+) /create for(int j=0;j5;j+)aij=(int)(Math.random()*101);for(int i=0;i5;i+) /print allfor(int j=0;jMath.sqrt(r2*r2+i2*i2)System.out.println(this.toString1()+ +c.toString1();if(Math.sqrt(r1*r1+i1*i1)=Math.sqrt(r2*r2+i2*i2)System.out.println(this.toString1()+ = +c.toString1();if(Math.sqrt(r1*r1+i1*i1)Math.sqrt(r2*r2+i2*i2)System.out.println(this.toString1()+ +c.toString1();public String toString() if(this.i0)return r + + i + i;else return r + + + i + i;public String toString1() if(this.i0)return ( + r + + i + i);else return ( + r + + + i + i);package Q3;public class Test public static void main(String args) Complex c11 = new Complex(0, 0);Complex c12 = new Complex(0, 0);Complex c21 = new Complex(4, 0);Complex c22 = new Complex(0, 3);Complex c31 = new Complex(3, 1.5);Complex c32 = new Complex(8, -1.5);Complex c41 = new Complex(-4, 3.4);Complex c42 = new Complex(6, -8.1);Complex c51 = new Complex(-5.4, 1.2);Complex c52 = new Complex(5.4, 3.2);Complex c61 = new Complex(3, 2);Complex c62 = new Complex(3, -2);System.out.println(c11.toString1() + - + c12.toString1() + = + plexAdd(c12).toString();System.out.println(c11.toString1() + * + c12.toString1() + = + plexMinus(c12).toString();plexCompare(c12);System.out.println(*);System.out.println(c21.toString1() + - + c22.toString1() + = + plexAdd(c22).toString();System.out.println(c21.toString1() + * + c22.toString1() + = + plexMinus(c22).toString();plexCompare(c22);System.out.println(*);System.out.println(c31.toString1() + - + c32.toString1() + = + plexAdd(c32).toString();System.out.println(c31.toString1() + * + c32.toString1() + = + plexMinus(c32).toString();plexCompare(c32);System.out.println(*);System.out.println(c41.toString1() + - + c42.toString1() + = + plexAdd(c42).toString();System.out.println(c41.toString1() + * + c42.toString1() + = + plexMinus(c42).toString();plexCompare(c42);System.out.println(*);System.out.println(c51.toString1() + - + c52.toString1() + = + plexAdd(c52).toString();System.out.println(c51.toString1() + * + c52.toString1() + = + plexMinus(c52).toString();plexCompare(c52);System.out.println(*);System.out.println(c61.toString1() + - + c62.toString1() + = + plexAdd(c62).toString();System.out.println(c61.toString1() + * + c62.toString1() + = + plexMinus(c62).toString();plexCompare(c62);System.out.println(*);粘贴测试结果4、 数组逆置。将一个已知数组中所有元素的次序颠倒为相反次序,求算法的时间复杂度和空间复杂度。请粘贴源程序并写出时间复杂度和空间复杂度:package Q4;import java.util.*;public class TEST public static int Create()System.out.println(请输入你要几位数组?);Scanner scan=new Scanner(System.in);int t=scan.nextInt();int a =new int t;for(int i=0;ia.length;i+)ai=(int)(Math.random()*101);return a;public static void main(String args)int t=0;int a=Create();for(int i=0;ia.length;i+)System.out.printf(%-4d, ai);System.out.println();for (int i=0;ia.length/2;i+)t=ai;ai=aa.length-1-i;aa.length-1-i=t;for(int i=0;ia.length;i+)System.out.printf(%-4d, ai);空间复杂度 O(1)时间复杂度 O(n)三、 心得体会:(含上机中所遇问题的解决办法,所使用到的编程技巧、创新点及编程的心得)在编程过程中,我们有

温馨提示

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

评论

0/150

提交评论