Java实验题目
浙大JAVA实验题答案

实验8 Method的使用1.程序填空题,不要改变与输入输出有关的语句;50001输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和保留 4 位小数;s = 1 + 1/2 +....+ 1/n要求定义并调用函数factn计算n的阶乘;例:括号内是说明输入:2 repeat=22 n=210 n=10输出:public class Test50001 {public static void mainString args {int ri,repeat;int i,n;double s;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/-----------/s=0;for i=1;i<=n;i++s+=fact i;}}/---------------/static double fact int n {int i;double f=1;for i=1;i<=n;i++f=i;return f;}}50002输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…an个a之和;要求定义并调用函数fna,n,它的功能是返回aa…an个a;例如,fn3,2的返回值是33;例:括号内是说明输入2 repeat=22 3 a=2, n=38 5 a=8, n=5输出246 2+22+22298760 8+88+888+8888+88888imponner;public class Test50002{public static void mainString args{int ri, repeat;int i, n,a;long sn;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{a=;n=;/------------/sn=0;for i=1;i<=n;i++sn+=fn a,i;}}/------------/s tatic int fn int a,int n{int s=0;forint i=1;i<=n;i++s=s10+a;return s;}}50003输入一个正整数repeat 0<repeat<10,做repeat次下列运算:读入1 个整数,统计并输出该数中2的个数;要求定义并调用函数countdigitnumber,digit,它的功能是统计整数number中数字digit的个数;例如,countdigit10090,0的返回值是3;例:括号内是说明输入:3 repeat=3-219022345543输出:count=2 -21902中有2个2count=1 有1个2count=0 345543中没有2public class Test50003{public static void mainString args{int ri, repeat;int count;long n;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{n=;/---------/n=n;count=countdigit n,2;}}/------------/static int countdigit long number,int digit{....要求定义并调用函数fibn,它的功能是返回第n项Fibonacci数;例如,fib7的返回值是13;例:括号内是说明输入:3 repeat=31 10 m=1, n=1020 100 m=20, n=1001000 6000 m=1000, n=6000输出:1 123 5 8 1到10之间的Fibonacci数21 34 55 89 20到100之间的Fibonacci数1597 2584 4181 1000到6000之间的Fibonacci数public class Test50006{public static void mainString args{int ri,repeat;int i, m, n;long f;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{m=;n=;/---------/i=1;f=1;while f<=n{if f>=m " ";i++;f=fib i;}}}/------------/sta ti c long fib int n{ //返回第n项Fibonacci数int i;long a=1,b=1,f=1;for i=3;i<=n;i++{ //从第3项开始计算f=a+b;a=b;b=f;}return f;}}50007输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=10000,输出m 到n之间的所有完数完数就是因子和与它本身相等的数;要求定义并调用函数factorsumnumber,它的功能是返回number的因子和;例如,factorsum12的返回值是161+2+3+4+6;例:括号内是说明输入:2 repeat=220 500 m=100, n=4001 100 m=1, n=100输出:28 4961 6 28public class Test50007{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if i==factorsum i" ";}}/---------/static int factorsum int number{ //返回number的因子和int sum=0;if number==1sum=1;forint i=1;i<=number-1;i++if number%i==0sum+=i;return sum;}}50008输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=1000,输出m 到n之间的所有满足各位数字的立方和等于它本身的数;要求定义并调用函数isnumber判断number的各位数字之立方和是否等于它本身;例:括号内是说明输入:2 repeat=2100 400 m=100, n=4001 100 m=1, n=100输出:153 370 371 111+555+333=153; 333+777=370; 333+777+111=3711public class Test50008{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if is i" ";}}/---------///判断number的各位数字之立方和是否等于它本身static boolean is int number{int sum=0,n,digit;n=number;while n>0{digit=n%10;n=n/10;sum+=digitdigitdigit;}if number==sum return true;else return false;}}50009输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入一个整数,将它逆序输出;要求定义并调用函数reversenumber,它的功能是返回number的逆序数;例如reverse12345的返回值是54321;例:括号内是说明输入4 repeat=4123456 -100 -2 99输出654321-1-299public class Test50009{public static void mainString args{int ri,repeat;long n, res;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/---------/res=reverse n;}}/---------/static long reverse long number{//返回number的逆序数int flag=1;long a=0,digit;if number<0{flag=-1;number=-number;}while number>0{digit=number%10; //分离出个位数字a=a10+digit; //形成当前的逆序数number=number/10;}return flaga;}}50011输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入三个整数a、b和c,输出其中较大的数;要求定义和调用函数maxa, b, c找出a、b中较大的数,函数形参a、b和c的类型是int;输入输出示例:括号内是说明输入3 repeat=3输入:5 8 9 a=5, b=8-1 -10 -5 a=-1, b=-101 1 1 a=1, b=1输出:max5,8,9=9max-1,-10,-5=-1max1,1,1=1public class Test50011 {public static void mainString args {int ri, repeat;int a,b,c,maximun;Scanner in = new Scanner;repeat = ;for ri = 1; ri <= repeat; ri++ {a = ;b = ;c=;/-----------------/maximun=maximuna,b,c;Sy}}/-------------------/static int maximunint a,int b,int c{int max=a;ifmax<bmax=b;ifmax<cmax=c;return max;}}。
浙大JAVA 实验题答案05answer1

实验5 分支结构程序的设计1.程序填空题,不要改变与输入输出有关的语句。
20004 计算旅途时间输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。
有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。
例:括号内是说明输入712 1411(出发时间是7:12,到达时间是14:11)输出The train journey time is 6 hrs 59 mins.import java.util.Scanner;public class Test20004 {public static void main(String[] args) {Scanner in=new Scanner(System.in);int time1, time2, hours, mins;time1=in.nextInt();time2=in.nextInt();/*------------------*//*计算两个时间之间的小时数和分钟数*/hours=time2/100-time1/100;mins=time2%100-time1%100;/*当计算得到的分钟数为负数时进行调整*/hours=mins>0?hours:hours-1;mins=mins>0?mins:mins+60;//或:if(mins<0){hours-=1;mins+=60;}System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins.");}}30001 显示两级成绩输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
java经典编程题目

java经典编程题目
以下是一些经典的Java编程题目,这些题目可以帮助你提高编程技巧和解决问题的能力:
1.反转字符串:编写一个Java方法,将给定的字符串反转。
2.斐波那契数列:编写一个Java方法,计算并返回斐波那契数列的第n项。
3.查找最大和最小元素:编写一个Java方法,在一个整数数组中查找最大和最小元素。
4.反转数组:编写一个Java方法,将给定的整数数组反转。
5.判断回文:编写一个Java方法,判断给定的字符串是否是回文。
6.计算阶乘:编写一个Java方法,计算给定整数的阶乘。
7.冒泡排序:编写一个Java方法,对给定的整数数组进行冒泡排序。
8.二分查找:编写一个Java方法,在已排序的整数数组中查找指定的元素。
9.合并两个有序数组:编写一个Java方法,将两个已排序的整数数组合并为一个新的已排序数组。
10.实现二叉树:编写一个Java类,实现二叉树数据结构,并实现插入、查找和删除节点的方法。
这些题目可以帮助你掌握Java编程的基础知识和技能,提高你的编程能力和解决问题的能力。
java新颖的毕设题目

java新颖的毕设题目共100个1. 基于区块链的电子商务平台设计与实现2. 智能家居系统的开发:基于Java的物联网应用3. 社交媒体分析工具:从用户数据中提取有价值的信息4. 基于Java的医疗健康管理系统5. 智能推荐系统:利用机器学习算法提供个性化推荐6. 虚拟现实(VR)与Java的集成:开发一个沉浸式体验应用7. 智能交通系统:优化城市交通流8. 在线教育平台:支持视频教学、在线测验等功能9. 智能图像识别系统:用于人脸识别、物体识别等10. 金融数据分析工具:帮助投资者进行数据驱动的决策11. 音乐推荐系统:分析用户喜好,提供个性化的音乐推荐12. 电子健康档案管理系统:方便医生和患者的信息交流13. 基于Java的即时通讯应用14. 智能农业管理系统:用于农田监控、水资源管理等15. 在线旅游预订系统:酒店、机票、景点门票等的预订和管理16. 人工智能助手:集成自然语言处理和机器学习技术17. 校园社交平台:方便学生、教职员工之间的交流与合作18. 电子化考试系统:支持在线考试、防作弊等功能19. 区块链投票系统:确保投票的透明性和安全性20. Java实现的即时股票交易系统21. 在线美食订购与配送平台22. 智能停车系统:提供实时停车位信息和导航服务23. 基于Java的智能家居能源管理系统24. 移动健康监测应用:监测用户的运动、睡眠等数据25. 在线拍卖平台:支持用户拍卖二手商品26. 智能报警系统:通过感知设备检测异常事件27. Java实现的3D游戏开发28. 在线法律咨询平台:连接用户和专业律师29. 基于Java的个性化电商推荐引擎30. 人才招聘平台:帮助求职者和企业匹配合适的岗位31. Java实现的区块链存证系统32. 在线医疗问诊平台:远程医生咨询和处方服务33. 社交音乐平台:用户可以分享和发现新的音乐34. Java实现的智能语音助手35. 网络直播平台:支持用户实时分享视频内容36. 智能决策支持系统:用于业务决策的数据分析37. 基于Java的物流管理系统38. 智能家居安全监控系统:集成视频监控和入侵检测39. 在线问卷调查系统:用于收集用户反馈和调查数据40. Java实现的虚拟实验室系统41. 电子商务支付系统:支持多种支付方式的整合42. Java实现的在线新闻发布平台43. 人脸识别门禁系统:提高安全性和便利性44. 社交健身应用:用户可以记录运动数据并分享45. 基于Java的智能电子书阅读器46. 在线会议管理系统:支持远程会议和文件共享47. 智能校园卡系统:整合一卡通、图书馆借阅等功能48. Java实现的大数据分析平台49. 虚拟旅游体验应用:通过VR技术提供虚拟旅游体验50. 社交电商平台:购物与社交相结合的创新模式51. Java实现的在线投资理财平台52. 在线个性化教育平台:根据学生兴趣定制课程53. 虚拟医学诊断系统:模拟医学图像的分析和诊断54. Java实现的大学生就业信息管理系统55. 智能农业无人机控制系统56. 在线电影票预订系统:支持座位选择和在线支付57. 基于Java的实时天气预报应用58. Java实现的电子化合同签署系统59. 社交美食分享应用:用户可以分享自己的烹饪经验60. 在线智能匹配平台:连接求职者和企业61. Java实现的医学影像处理系统62. 虚拟实验室模拟:用于教学和科研63. 在线二手交易平台:用户可以出售和购买二手商品64. Java实现的智能问答系统65. 在线语言学习平台:提供多语言学习资源66. 基于Java的家庭财务管理应用67. 社交化学术研究平台:学术交流与合作68. Java实现的物联网智能城市管理系统69. 在线美妆试妆应用:用户可以虚拟试妆70. 虚拟实景导览应用:提供城市景点的虚拟导览服务71. Java实现的智能问卷分析系统72. 在线汽车租赁平台:支持用户租赁和发布车辆信息73. 基于Java的智能工业生产监控系统74. 社交化旅游规划应用:用户可以分享旅游路线和经验75. 在线艺术品拍卖平台:连接买家和卖家76. Java实现的大规模数据存储和检索系统77. 基于区块链的知识产权保护系统78. 在线健身教练平台:用户可以与健身教练进行在线交流79. Java实现的虚拟实验室设备控制系统80. 社交化学科学研究平台:学科领域专业人士的交流平台81. 在线家庭医生平台:用户可以远程咨询医生82. 基于Java的智能电子合同管理系统83. 虚拟实景购物应用:用户可以虚拟购物体验84. 在线投诉与建议管理系统:企业和用户的沟通平台85. Java实现的机器人控制与编程平台86. 社交化电影评论应用:用户可以分享对电影的看法87. 在线家教平台:学生可以找到合适的家教老师88. 基于Java的数字化音乐图书馆管理系统89. 虚拟实景美术馆:用户可以在线参观艺术作品90. Java实现的大规模文本数据分析系统91. 在线私人定制服装平台:用户可以定制个性化的服装92. 基于区块链的学历验证系统93. 社交化电子竞技平台:玩家可以分享游戏经验94. Java实现的在线新闻热点分析系统95. 虚拟实景动物园:用户可以在虚拟环境中观赏动物96. 在线房地产经纪平台:用户可以找到合适的房源97. 基于Java的工业生产质量监控系统98. 社交化瑜伽健身应用:用户可以分享瑜伽心得99. Java实现的电子合同智能审核系统100. 虚拟实景历史博物馆:用户可以在虚拟环境中了解历史文化。
实验题目

实验一 Java语言概述【实验目的】1.掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。
2.熟悉Java应用程序的基本结构,并能联合编译应用程序所需要的类。
文件保存要求:在D:盘新建文件夹“学号”,在“D:\ 学号”下新建文件夹“timu1”。
题目1的文件保存在“timu1”中,以下依次类推。
【题目1】1、实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
2、程序模板:请按模板要求,将【代码】替换为Java程序代码。
3、实验后的练习a.编译器怎样提示丢失大括号的错误。
b.编译器怎样提示语句丢失分号的错误。
c.编译器怎样提示将System写成system这一错误。
d.编译器怎样提示将String写成string这一错误。
【题目2】1、实验要求:编写3个源文件:、、,每个源文件只有一个类。
含有应用程序的主类(含有main方法),并使用了Teacher和Student类。
将3个源文件保存到同一目录,D:\timu2,然后编译。
2、程序模板:请按模板要求,将【代码】替换为Java程序代码。
3、实验后的练习a.将编译通过后,不断地修改源文件中的【代码2】。
比如,在命令行窗口输出“我是语文老师”或“我是数学老师”。
要求每次修改源文件后,单独编译,然后直接运行应用程序(不要再编译)。
b.如果需要编译某个目录下的全部Java源文件,如D:\1001目录,可以使用如下命令:D:\1001>javac *.java请练习上述命令。
【题目3】1、实验要求:课本第15页习题2、实验后的练习习题8.(4)实验四类与对象【实验目的】1.掌握使用类来封装对象的属性和行为。
2.掌握对象的组合以及参数传递。
3.掌握类变量与实例变量,以及类方法与实例方法的区别。
文件保存要求:在D:盘新建文件夹“shiyan04”,在“D:\ 20120shiyan04”下新建文件夹“timu1”。
java课程设计实验报告题目

java课程设计实验报告题目一、教学目标本章节的教学目标旨在让学生掌握Java编程语言的基本语法、概念和编程技巧,培养学生具备基本的Java编程能力。
具体包括以下几个方面:1.知识目标:–理解Java编程语言的基本语法和结构;–掌握Java中的数据类型、运算符、控制语句、数组、字符串等基本概念;–了解Java面向对象编程的基本概念,如类、对象、封装、继承和多态;–熟悉Java编程语言的常用API和库。
2.技能目标:–能够运用Java编程语言编写简单的程序,解决实际问题;–掌握Java编程语言的调试技巧,能够找到并修复程序中的错误;–熟悉Java编程语言的编程规范和最佳实践。
3.情感态度价值观目标:–培养学生对编程语言的兴趣和好奇心,激发学生主动学习的动力;–培养学生解决问题的能力和创新思维,提高学生面对挑战的勇气;–培养学生团队合作的精神,增强学生沟通协作的能力。
二、教学内容根据教学目标,本章节的教学内容主要包括以下几个方面:1.Java编程语言的基本语法和结构;2.Java中的数据类型、运算符、控制语句、数组、字符串等基本概念;3.Java面向对象编程的基本概念,如类、对象、封装、继承和多态;4.Java编程语言的常用API和库;5.Java编程语言的编程规范和最佳实践。
三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:通过讲解和示例,让学生掌握Java编程语言的基本语法和概念;2.讨论法:通过小组讨论和问题解答,培养学生的思考能力和问题解决能力;3.案例分析法:通过分析实际案例,让学生了解Java编程语言在实际应用中的使用;4.实验法:通过编写和调试Java程序,让学生掌握Java编程技巧和调试方法。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将选择和准备以下教学资源:1.教材:Java编程语言的经典教材,用于引导学生学习和理解基本概念;2.参考书:提供额外的学习资料和实践案例,帮助学生深入掌握Java 编程语言;3.多媒体资料:通过视频教程和在线课程,提供直观的学习资源,帮助学生更好地理解Java编程语言;4.实验设备:提供计算机和编程环境,让学生能够进行实际编程练习和调试。
java课题设计题目

以下是一些可能的Java课题设计题目:1. 开发一个Java应用程序,实现一个简单的在线购物平台。
要求包括用户注册、登录、浏览商品、添加购物车、下单结算等功能。
2. 编写一个Java程序,实现一个简单的文章管理系统。
要求包括文章的添加、修改、删除、查询等功能,以及用户权限管理。
3. 开发一个Java桌面应用程序,实现一个简单的客户关系管理系统。
要求包括客户信息的添加、修改、删除、查询等功能,以及客户跟进提醒等功能。
4. 编写一个Java程序,实现一个简单的数据库管理系统。
要求包括数据库的创建、删除、修改、查询等功能,以及用户权限管理。
5. 开发一个Java Web应用程序,实现一个简单的在线教育平台。
要求包括课程的添加、修改、删除、查询等功能,以及用户注册、登录、在线学习等功能。
6. 编写一个Java程序,实现一个简单的图像处理应用程序。
要求包括图像的加载、显示、编辑、保存等功能,以及图像滤镜、特效等处理功能。
7. 开发一个Java桌面应用程序,实现一个简单的进销存管理系统。
要求包括商品的采购、销售、库存管理等功能,以及报表统计等功能。
8. 编写一个Java程序,实现一个简单的自然语言处理应用程序。
要求包括文本的分词、词性标注、命名实体识别等功能,以及情感分析等文本处理功能。
9. 开发一个Java Web应用程序,实现一个简单的在线投票系统。
要求包括投票的创建、参与、统计等功能,以及用户注册、登录等功能。
10. 编写一个Java程序,实现一个简单的语音识别应用程序。
要求包括语音的采集、转写、识别等功能,以及语音合成等语音处理功能。
java程序设计 实训题目

java程序设计实训题目
以下是一些Java程序设计实训题目,供您参考:
1. 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除
运算。
要求使用面向对象的思想,将计算器的功能封装在一个类中,并提供一个主函数用于测试。
2. 编写一个Java程序,实现一个简单的文本编辑器,可以打开、保存、编
辑和打印文本文件。
要求使用Java的I/O流和文件操作类库,以及图形用
户界面库(如Swing或JavaFX)。
3. 编写一个Java程序,实现一个简单的聊天室,支持多人同时在线聊天。
要求使用Java的多线程机制和网络编程技术(如Socket编程),并实现基本的用户注册、登录和消息发送功能。
4. 编写一个Java程序,实现一个简单的数据库管理系统,可以创建、删除、查询和更新数据库中的记录。
要求使用Java的JDBC API连接数据库,并
使用SQL语句进行操作。
5. 编写一个Java程序,实现一个简单的图像处理软件,可以对图像进行缩放、旋转、裁剪和滤镜处理。
要求使用Java的图像处理库(如Java Advanced Imaging API)和图形用户界面库(如Swing或JavaFX)。
6. 编写一个Java程序,实现一个简单的邮件发送系统,可以发送HTML格式的邮件。
要求使用Java的邮件发送库(如JavaMail API),并支持SMTP协议和附件上传功能。
7. 编写一个Java程序,实现一个简单的在线考试系统,可以随机生成试题、计时考试时间并自动评分。
要求使用Java的多线程机制和网络编程技术(如Socket编程),并实现基本的用户登录、答题和提交功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java实验题目一、(1).编写Java应用程序,定义byte、short、int、long、float、double、char和boolean 等类型的数据并用一个输出语句输出,要求每行输出一个数据。
(2).编写Java小应用程序,输出两行字符串:“Java很有趣。
”和“努力学习Java 编程。
”,输出的起点坐标是(20,20),行距是50像素。
(3).使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
(4).编写Java小应用程序,用三目条件运算符求程序中给定的4个double数的最大值和最小值并输出结果。
实验报告题:使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
二、1、数据类型与表达式的使用自己编写程序测试各种运算符的使用。
例如,以下程序是测试Java的数据类型:public class UseVarible {public static void main(String args []){boolean b = true;short si = 128;int i = -99;long l = 123456789L;char ch = 'J';float f = 3.1415925F;double d = -1.04E-5;String s = "你好!";System.out.println("布尔型变量b="+ b);System.out.println("短整型变量si="+ si);System.out.println("整型变量i="+ i);System.out.println("长整型变量l="+ l);System.out.println("字符型变量ch="+ ch);System.out.println("浮点型变量f="+ f);System.out.println("双精度型变量d="+ d);System.out.println("字符型对象s="+ s);}}2、数组的创建与使用编写并运行P.23例1-5,例1-6。
3、思考与上机练习(1). 编写Java应用程序,其中定义一个int数组(数组元素任意指定),将数组元素由小到大排序、求数组元素的和、数组元素的最大值和最小值并输出所求的结果。
(2). 计算两个矩阵的和、差、乘积并输出。
4、实验报告内容编写Java应用程序,其中定义一个int数组(数组元素任意指定),将数组元素由小到大排序、求数组元素的最大值并输出所求的结果。
三、(1) 定义一个圆类Circle,该圆类的数据成员包括:圆心点位置及圆的半径;方法成员有:设置圆心位置和半径的方法,获取圆心位置和半径的方法,无参的构造方法初始化圆心位置为(0,0),半径为1。
另外定义一个构造方法可以接收圆心位置与半径的参数。
编写测试类创建Circle类的对象,并且分别调用各种方法,对比这些方法的执行结果。
(2) 定义一个矩形类MyRectangle,类中有4个私有的整型变量,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有4个int参数的构造方法,用来初始化类对象。
类中还有以下方法:getW( )——计算矩形的宽度;getH( )——计算矩形的高度;area( )——计算矩形的面积;toString( )——把矩形的宽、高和面积等信息作为为字符串返回。
编写应用程序创建MyRectangle类的对象并输出矩形对象的信息。
(3) 设计一个长方体类MyCube,该类包含第2题中的MyRectangle类对象作为类的成员变量,表示长方体的底面;此外还包含一个整型变量d,表示长方体的高。
类中定义构造方法初始化类对象、定义求体积和表面积的方法。
编写应用程序测试MyCube类。
(4) 对于第2、3题的类分别用类的访问修饰符public与无修饰符定义,同时把它们声明在同一个包中、不同的包中,分析程序的编译情况,理解类及其成员的访问控制符的作用。
(5) 设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息(包括用户名、口令)的方法。
编写应用程序测试User类。
(6) 应用程序中定义方法头如下所示的方法:static int[] add(int[] x, int[] y)static int[] multi(int[] x, int[] y)add方法的功能是:把参数数组x和y(其元素个数相同)的每个元素相加,并作为返回数组的元素;multi方法的功能是:把参数数组x和y(其元素个数相同)的每个元素相乘,并作为返回数组的元素。
在Java应用程序中使用这两个方法。
实验报告内容:设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息(包括用户名、口令)的方法。
编写应用程序测试User类。
四、2.1 方法的流程控制(1) 编写Java应用程序,求1!+2!+...+20!的和并显示,要求用方法实现求阶乘。
(2) 编写Java应用程序,从键盘输入一个整数,将其转换为的二进制、十六进制并把相应的表示输出到屏幕上。
(3) 编写Java应用程序,分别利用while循环、do…while循环和for循环求100~200的自然数的和。
(4) 重载3个不同版本的max方法和min方法,这些方法均有4个参数,分别用来求4个int、4个long、4个float数的最大值和最小值。
编写Java应用程序,使用这些方法。
(5) 编写应用程序,在main方法在中定义字符串“1.235678e2”、“87.8f”和“128”,将他们分别转化为对应的double数、float数和int数并输出,最后输出这三个数的和(要求结果保留到小数点后两位)。
(6) 编写Java应用程序,程序运行后,根据屏幕提示输入一个数字字符串,回车后统计有多少个偶数数字和奇数数字。
(7) 编写Java应用程序,从命令行传入多个字符串到程序中,并将他们分行输出在屏幕上。
(8) 编写Java应用程序,求50的阶乘(要求输出结果的每一位)。
(9) 编写Java应用程序,把100~1000的自然数中能够被3整除的数输出到屏幕上。
(10) 编写Java小应用程序,程序中自定义一个方法:double find2(int n),方法的功能是求2的n次方。
程序中调用该方法,输出2的40次方的结果并输出。
(11) 一个三位数abc,满足数字算式:abc*abc=***abc,其中*代表数字,使用一层循环,求满足条件的三位数。
(12) 编写应用程序,定义一个5行3列的二维数组,给数组的每个元素赋10~100之间的随机值,显示二维数组每行的元素,并输出所有元素的和。
2.2 异常处理(1) 编写应用程序,使之运行后产生ArrayIndexOutOfBoundsException异常。
(2) 编写应用程序,使之运行后产生NullPointerException异常。
(3) 自定义异常类MyException,该类继承自Exception类,类中只有含一个字符串参数msg的构造方法,构造方法中只有一条语句super(msg)——调用父类的构造方法。
另外,编写自定义类MyAdd,类中只有一个私有的整型变量x;有两个公有方法void add(int x)和int getX( ),其中add(int x)的功能是把参数x的值加到类中的变量x中(但要求x的值在0~100之间,否则抛出自定义异常MyException类的对象),getX( )方法返回x的值。
编写应用程序TestMyException.java,在其main方法中创建MyAdd类对象,并调用MyAdd类的set方法共3次,分别设置x的值为88、66、128,每次都输出类中变量x的值,编译、运行程序TestMyException.java,观察程序的输出结果。
3.思考题(1) 什么是异常?解释抛出、捕获的含义。
(2) 简述Java的异常处理机制。
(3) 用户程序如何自定义异常?(4) 系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?实验报告内容:编写Java应用程序,从键盘输入一个整数,将其转换为的二进制、十六进制并把相应的表示输出到屏幕上。
五、2.1 类的继承1.定义一个抽象基类Shape,它包含一个属性Color、一个非抽象方法getColor( ),一个抽象方法getArea( ),从Shape类派生出Rectangle和Circle类,这两个类都用getArea( )方法计算对象的面积。
编写应用程序使用Rectangle类和Circle类。
2.设计并实现一个MyGraphic类及其子类MyRectangle:(1) MyGraphic类包括两个属性:线条的颜色linColor与填充颜色fillColor,方法包括:构造方法初始化属性值、print方法输出属性值。
(2) 矩形类MyRectangle有长、宽两个属性与构造方法、计算周长、面积的方法,其中在构造方法中调用父类MyGraphic的构造方法初始化父类继承来的两个属性,并初始化本类定义的属性。
(3) 定义测试类创建MyGraphic和MyRectangle的对象,调用相应方法输出颜色,对于矩形对象还要求周长、面积最后输出。
3.定义一个类Person,并由该类做基类派生出一个子类Employee。
其中:(1) Person类具有name、age两个保护成员变量,分别为String类型、整型。
该类的构造方法用于对成员变量进行初始化,要求定义一个无参构造方法与一个有两个参数的构造方法,在无参构造方法中调用有参构造方法。
(2)Employee类具有保护成员变量empno,类型为整型。
该类也定义一个无参构造方法与一个有参构造方法对成员变量进行初始化,在这两个构造方法中分别调用父类的无参与有参构造方法。
(3)编写测试类对Person类与Employee类进行测试。
4.定义一个学生类Student及其子类班长类StudentBZ:(1) Student类中的属性包括:学号、姓名、3门课的成绩、总分、平均分;方法包括:1) 一个无参构造方法与一个带4个参数的构造方法;2) 成员变量相应的get/set方法用于获取与设置成员变量值;3) 实例方法input( )用于输入学号、姓名、3门课的成绩;total( )用于统计每个学生的总分;average( )方法用于计算平均分(3门课总和/3);toString( )方法返回学生的信息。