期末个人作业:JAVA实验报告手册

上传人:鲁** 文档编号:521069016 上传时间:2024-03-18 格式:DOCX 页数:58 大小:475.82KB
返回 下载 相关 举报
期末个人作业:JAVA实验报告手册_第1页
第1页 / 共58页
期末个人作业:JAVA实验报告手册_第2页
第2页 / 共58页
期末个人作业:JAVA实验报告手册_第3页
第3页 / 共58页
期末个人作业:JAVA实验报告手册_第4页
第4页 / 共58页
期末个人作业:JAVA实验报告手册_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《期末个人作业:JAVA实验报告手册》由会员分享,可在线阅读,更多相关《期末个人作业:JAVA实验报告手册(58页珍藏版)》请在金锄头文库上搜索。

1、面向对象的程序设计之JAVA实验报告手册JAVA实验手册教育技术学院10级XXX目录作业1:Java基本语法1作业2:类与对象7作业3:继承、抽象类与接口11作业4:异常处理19作业5:基础类库21作业6:实现简易计算器37作业7:多线程模拟五个哲学家问题51说明:每个作业下分“所属章节”“实验题”“相关知识点扩展”“实验代码及相关思路”“反思体悟”几个小模块。作业1:Java基本语法1) 所属章节:第二章 Java语言基础2) 实验题:编写下列程序中的至少3个:1) 判断闰年,年份通过键盘输入;2) 求1-n间的所有素数,n为输入的一整数;3) 输入年月日,计算是一年中的第几天;4) 如果矩

2、阵A中存在这样的一个元素Aij满足条件:Aij是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个函数计算出mn的矩阵A的所有马鞍点。提示:依题意,先求出每行的最小值元素,放入minm之中,再求出每列的最大值元素,放入maxn之中,若某元素既在mini中,又在maxj中,则该元素Aij便是马鞍点,找出所有这样的元素,即找到了所有马鞍点。5) 计算e=1+1/1!+1/2!+1/3!+1/n!+的近似值,要求误差小于0.001。3) 相关知识点扩展:整数的输入方法有很多,用System.in.read()实现起来不是很方便,这里介绍一用应用Scanner类的方

3、法。具体查看Java DOC文档。 int a; Scanner s=new Scanner(System.in); System.out.println(请输入你想要算的数字 : ); a=s.nextInt(); 另外,如果使用System.in.read(),还需要做异常处理。 我们可以直接抛弃异常:public static void main(String args) throws java.io.IOException4) 实验代码及相关思路:1) 判断闰年,年份通过键盘输入 55 / 55import java.util.Scanner;public class LeapYear

4、 public static void main(String args) Scanner s = new Scanner(System.in); System.out.println(请输入你想要算的年份 : ); int year = s.nextInt(); if(year%4=0&year%100!=0|year%400=0) System.out.println(year + 年是闰年); else System.out.println(year + 年不是闰年); l 反思体悟:该实验的难点在于 “闰年”的概念和算法的实现。闰年是指:普通年能整除4且不能整除100的为闰年(如200

5、4年就是闰年,1900年不是闰年);世纪年能整除400的是闰年(如2000年是闰年,1900年不是闰年),明确了这个概念后,不难写出if判断语句。2) 求1-n间的所有素数,n为输入的一整数import java.util.Scanner;public class PrimeNumber public static void main(String args) int i,m = -1,number,n; Scanner s = new Scanner(System.in); System.out.println(此程序用于求1n之间的所有素数。请输入您想要的n值:); n = s.nextI

6、nt(); int a = new intn; for(number=2;number=n;number+) for(i=2;i=number) m+; am = number; System.out.println(1n之间的所有素数有:); for(i=0;im;i+) System.out.print(ai+ ); l 反思体悟:该实验的难点在于 “素数”的概念和算法的实现。素数是指不能整除除1和它本身以外的数,算法上要用两个循环嵌套。另外,本实验用数组来存储判断为素数的数最后一次性遍历输出;当然也可以判断一次输出一次。3) 输入年月日,计算是一年中的第几天import java.uti

7、l.Scanner;public class DateToDays public static void main(String args) Scanner s = new Scanner(System.in); int i = 0,sum = 0; int a = 31,28,31,30,31,30,31,31,30,31,30,31; System.out.println(请输入您想计算日期,年月日两两之间请空格:); int y = s.nextInt(); int m = s.nextInt(); int d = s.nextInt(); if(y%4=0&y%100!=0|y%400

8、=0) a1 = 29; for( ;im-1;i+) sum = sum + ai; System.out.println(sum = sum + d); l 反思体悟:该实验中要注意对闰年2月的区分。将每个月份的天数储存在数组中然后根据用户输入月份来加和,节省了代码量,同时更有利于理清思路。4) 如果矩阵A中存在这样的一个元素Aij满足条件:Aij是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个函数计算出mn的矩阵A的所有马鞍点。提示:依题意,先求出每行的最小值元素,放入minm之中,再求出每列的最大值元素,放入maxn之中,若某元素既在mini中,

9、又在maxj中,则该元素Aij便是马鞍点,找出所有这样的元素,即找到了所有马鞍点import java.util.Scanner;public class MaAnDian public static void main(String args) int i,j,m,n; System.out.println(这是一个计算m*n矩阵的马鞍点的程序。); System.out.println(请根据您的需要输入m和n的值,两数中间请空格); Scanner s = new Scanner(System.in); m = s.nextInt(); n = s.nextInt(); int a =

10、new intmn; int min = new intm; int max = new intn; System.out.println(请由行到列输入您的矩阵,数与数之间请空格:); Scanner A = new Scanner(System.in); for(i=0;im;i+) for(j=0;jn;j+) aij = A.nextInt(); /存入每行的最小值 for(i=0;im;i+) mini = ai0; for(j=1;jaij) mini = aij; /存入每列的最大值 for(j=0;jn;j+) maxj = a0j; for(i=1;im;i+) if(max

11、jaij) maxj = aij; System.out.println(您输入的矩阵的马鞍点是:); for(i=0;im;i+) for(j=0;jn;j+) if(mini=maxj) System.out.println(mini); l 反思体悟:该实验中,理解马鞍点是重点,而迅速将一个陌生的数学概念转化为程序思维是难点。我的思路是用两个一维数组分别储存二维数组行、列的相关值,再对两个数组中的值进行相等判断,得出马鞍点。5) 计算e=1+1/1!+1/2!+1/3!+1/n!+的近似值,要求误差小于0.001import java.util.Scanner;public class

12、E public static void main(String args) double sum = 0,t = 1; int i = 1,n = 10; while(i=n) sum = sum + t; t = t*(1.0/i); i+; System.out.println(在0.001的误差范围内e的近似值为 + sum); l 反思体悟:该实验容易被限制条件“误差小于0.001”困住思维。其实用整数10粗略估算便知1/10!精确位数远远超过0.001。刚开始写这个实验程序时,我总想着用条件语句限制循环,让算出的e值正好卡在0.001的关口上。其实对于计算机的运算速度,n值取大一点便好,计算机为此多出的计算时间,与我们在n的具体值上纠结的时间相比,划算得多作业2:类与对象1.所属章节:第三章 类与对象2.实验题:编写一个复数累,具有实部、虚部两个成员变量,可以完成加减乘除,获取实部和虚部等方法,并编写一个主类对其进行测试。3.实验代码及相关思路:复数类:public class Fushu private double shibu; / 实部private double xubu; / 虚部/构造方法public F

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 测绘

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号