定义一个Student类其中包括姓名笔画测试两人关系(name),年龄(age),宿舍(address)并统计个数

(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
用Java编写一个学生类Student
属性:name age
方法:setName
setAge getAge
编写4个构造方法
《1》无参数
《2》参数只有name
《3》参数只有age
《4》参数有name和age
属性:name age
方法:setName
setAge getAge
编写4个构造方法
《1》无参数
《2》参数只有name
《3》参数只有age
《4》参数有name和age
main方法中使用4个构造方法分别构造一个学生对象
public class Student(
private String name=
private int age = 0;
public void setName(String name){
=
}
public String getName(){
}
public void
setAge(int age){
e=
)
public int getAge(){
}
public Student(String name ,int age){
if(age <0){//确保年龄不小于0
e=0;
}else{
e=
}
if((name==null)||(name.equals(""))){//确保名称不是空值
="NONAME";
}else{
=
}
}
public Student(String name ){
this(name,0);
}
public Student(int age){
this("NONAME",age);
}
public Student(){
this("NONAME",0);
}
public static void print(Student s){
intln("NANE="+ tName());
intln("AGE="+ tAge());
}
public static void main(String args){
Student s1=new Student();
print(s1);
Student s2=new Student(12);
print(s2);
Student s3=new Student("AAAA");
print(s3);
Student s4=new Student("BBBB",13);
print(s4);
}
}
注意:在学习的时候可以不考虑数据的合法性问题,但是在实际的应用开发过程中,数据的合法性必须经过验证,以确保相关信息的可靠性,也便于你的调试。对输入数据的合法性检查,是一个良好的习惯,可惜我们现在的学校很少强调着个,建议你一定要注意这个问题,否则在实际开发中会碰到让你想都想不到的问题。...
public class Student(
private String name=
private int age = 0;
public void setName(String name){
=
}
public String getName(){
}
public void
setAge(int age){
e=
)
public int getAge(){
}
public Student(String name ,int age){
if(age <0){//确保年龄不小于0
e=0;
}else{
e=
}
if((name==null)||(name.equals(""))){//确保名称不是空值
="NONAME";
}else{
=
}
}
public Student(String name ){
this(name,0);
}
public Student(int age){
this("NONAME",age);
}
public Student(){
this("NONAME",0);
}
public static void print(Student s){
intln("NANE="+ tName());
intln("AGE="+ tAge());
}
public static void main(String args){
Student s1=new Student();
print(s1);
Student s2=new Student(12);
print(s2);
Student s3=new Student("AAAA");
print(s3);
Student s4=new Student("BBBB",13);
print(s4);
}
}
注意:在学习的时候可以不考虑数据的合法性问题,但是在实际的应用开发过程中,数据的合法性必须经过验证,以确保相关信息的可靠性,也便于你的调试。对输入数据的合法性检查,是一个良好的习惯,可惜我们现在的学校很少强调着个,建议你一定要注意这个问题,否则在实际开发中会碰到让你想都想不到的问题。
其他答案(共1个回答)
您好,已经按照您的要求制作了程序,请您将您的邮箱留下,我会发给您的。回答完毕,祝您好运。
这种bus没有卧铺的,车上我想应该有卫生间.euroline都有卫生间,不用担心上厕所的问题,中间会停下来休息让大家上厕所和买东西吃的
大巴是直接到维也纳机场的,不用再转了 http://www.viennaairport.com/jart/prj3/va/uploads/data-upload...
这是之前学习java swing这块的时候自己做的一个计算器
GeometricObject.java
--------------------
public abstract class GeometricObject ...
答: 海尔N82的JAVA支持那种格式?我怎摸下游戏
答: JavaServerPages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP并没有增加任何本质上不能用Servlet实现的功能
答: 还要看个人因素。两个职业么,呵呵
我目前是程序员,感觉比网络工程师累,每天作者不动,体能日益下降,十指也饱受摧残,而且程序员一定要向设计员发展,而且一般也是这样...
每家运营商的DNS都不同,而且各省的也不同。你可以问问你的网络提供商,他们会告诉你的。(也可以通过分别访问域名和IP来检查DNS是否正常,访问域名不行,而访问IP可以,则说明DNS设置不对)
另外,如果ADSL-电脑没问题,一般ADSL-路由器也没问题的。而且采用ADSL拨号的话,DNS可以不设置的,拨号成功后会自动取得DNS服务器。
问题可能出在路由器设置上。进去检查一下吧。看看上网方式,上网用户名密码是否正确。
(有个问题要注意一下,有些地方的运营商会限制使用路由器或者限制接入数量,一般是采取绑定网卡MAC地址的方式,如果路由器设置都正常,试试路由器的MAC地址克隆功能,把电脑网卡的MAC复制过去)
关于三国武将的排名在玩家中颇有争论,其实真正熟读三国的人应该知道关于三国武将的排名早有定论,头十位依次为:
头吕(吕布)二赵(赵云)三典韦,四关(关羽)五许(许楮)六张飞,七马(马超)八颜(颜良)九文丑,老将黄忠排末位。
关于这个排名大家最具疑问的恐怕是关羽了,这里我给大家细细道来。赵云就不用多说了,魏军中七进七出不说武功,体力也是超强了。而枪法有六和之说,赵云占了个气,也就是枪法的鼻祖了,其武学造诣可见一斑。至于典韦,单凭他和许楮两人就能战住吕布,武功应该比三英中的关羽要强吧。
其实单论武功除吕布外大家都差不多。论战功关羽斩颜良是因为颜良抢军马已经得手正在后撤,并不想与人交手,没想到赤兔马快,被从后背赶上斩之;文丑就更冤了,他是受了委托来招降关羽的,并没想着交手,结果话没说完关羽的刀就到了。只是由于过去封建统治者的需要后来将关羽神话化了,就连日本人也很崇拜他,只不过在日本的关公形象是扎着日式头巾的。
张飞、许楮、马超的排名比较有意思,按理说他们斗得势均力敌都没分出上下,而古人的解释是按照他们谁先脱的衣服谁就厉害!有点搞笑呦。十名以后的排名笔者忘记了,好象第11个是张辽。最后需要说明的是我们现在通常看到的《三国演义》已是多次修改过的版本,笔者看过一套更早的版本,有些细节不太一样。
你用的是工行的卡吗?到工行网站问了一下,下面是它们版主的回答——您好~
1、您可以拨打95588或通过网上银行等渠道查询消费明细。
2、若您的信用卡开通了网上银行。请您按照以下地址进行登录。工行网站地址: 点击“个人网上银行登录”或工行个人网上银行地址: 按照系统提示输入相关信息后即可登录。
“网页错误”请您进行以下操作:
(1)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“高级”标签--&点击“还原默认设置”,点击“确定”后关闭所有IE浏览器窗口;
(2)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“常规”标签--&Internet临时文件设置中的“检查所存网页的较新版本”选择“每次访问此页时检查”。并在Internet临时文件设置中点击“删除文件”,在“删除所有脱机内容”前打勾后点击确定关闭对话框,关闭所有IE窗口;
(3)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“安全”标签,在“请为不同区域的Web内容制定安全设置(z)”窗口内选择“Internet”,然后选择“自定义级别”,将“Activex控件和插件”中“下载已签名的Activex控件”、“运行Activex控件”等设置为“启用”或“提示”,点击确定后,请重新启动电脑;
(4)若您安装了3721上网助手之类的软件,请您将其完全卸载;
(5)请登录工行门户网站 ,点击“个人网上银行登录”下方的“下载”。进入下一个页面后,下载并安装控件程序。
(6)若仍无法正常使用,建议您重新安装IE6.0或以上版本的IE浏览器,并使用WINDOWS系统的UPDATE功能安装补丁。
3、您可以通过网上银行查看对账单进行还款。
4、是可以的。您需要通过网上银行办理跨行转账业务。
如果您想在网上办理跨行汇款,请使用“工行与他行转账汇款”功能,您除了需要申请开通网上银行对外转账功能,还需要您所在地区开通网上跨行汇款功能。若未开通,那么在操作时系统会提示您的(国际卡及香港信用卡无法使用此功能)。
从日起,柜台注册且未申请U盾或口令卡的客户,单笔交易限额、日累计限额以及总支付交易限额均为300元,9月1日前支付额度已经达到300元的客户需到网点申请电子口令卡或U盾(从注册日起计算支付额)。
若目前已达到交易限额但急需支付,建议您可通过下列方法变更交易限额:
1.申请U盾。u盾客户不再受交易限额和支付次数的限制。此外,使用u盾,您可以享受签订理财协议等服务项目,并在您原有使用基础上大大加强了安全性。如需办理U盾,请您本人携带有效身份证件和网上银行注册卡到当地指定网点办理U盾,办理手续及网点信息请您当地95588服务热线联系咨询。
2.申办口令卡。您本人可持有效身份证件、网上银行注册卡到当地指定网点申办口令卡。申办电子口令卡后,个人网上银行单笔交易限额1000元;日累计交易限额5000元,没有总支付额度控制;电子银行口令卡的使用次数为1000次(以客户输入正确的密码字符并通过系统验证为一次),达到使用次数后即不能使用,请及时到我行营业网点办理申领新卡手续。
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415当前位置: >>
Java面向对象程序设计及应用实验指导书1
Java 面向对象程序设计及应用 实验指导书董 东 张朝昆 2009.21 目 录 实验 1 Java 开发环境 ......................................................................................................................................................4 实验目的 ..................................................................................................................................................................4 实验任务 ..................................................................................................................................................................4 命名规则 ..................................................................................................................................................................4 实验题目 ..................................................................................................................................................................4 实验步骤 ..................................................................................................................................................................5 实验 2 Java 基本数据类型及运算 ................................................................................................................................ 11 实验目的 ................................................................................................................................................................ 11 实验任务 ................................................................................................................................................................ 11 实验题目 ................................................................................................................................................................ 11 实验步骤 ................................................................................................................................................................12 实验 3 流程控制语句 ...................................................................................................................................................14 实验目的 ................................................................................................................................................................14 实验任务 ................................................................................................................................................................14 实验题目 ................................................................................................................................................................14 实验步骤 ................................................................................................................................................................15 实验 4 面向对象程序设计初步....................................................................................................................................18 实验目的 ................................................................................................................................................................18 实验任务 ................................................................................................................................................................18 实验题目 ................................................................................................................................................................18 实验步骤 ................................................................................................................................................................20 实验 5 类与对象的设计 ...............................................................................................................................................21 实验目的 ................................................................................................................................................................21 实验任务 ................................................................................................................................................................21 实验题目 ................................................................................................................................................................21 实验步骤 ................................................................................................................................................................23 实验 6 类的继承 ...........................................................................................................................................................26 实验目的 ................................................................................................................................................................26 实验任务 ................................................................................................................................................................26 实验题目 ................................................................................................................................................................26 实验步骤 ................................................................................................................................................................28 实验 7 抽象类和接口 ...................................................................................................................................................29 实验目的 ................................................................................................................................................................29 实验任务 ................................................................................................................................................................30 实验题目 ................................................................................................................................................................30 实验步骤 ................................................................................................................................................................31 实验 8 数 组 .................................................................................................................................................................33 实验目的 ................................................................................................................................................................33 实验任务 ................................................................................................................................................................33 实验题目 ................................................................................................................................................................33 实验步骤 ................................................................................................................................................................34 实验 9 异 常 .................................................................................................................................................................35 实验目的 ................................................................................................................................................................35 实验任务 ................................................................................................................................................................35 实验题目 ................................................................................................................................................................352 实验步骤 ................................................................................................................................................................36 实验 10 Collection 框架 .................................................................................................................................................38 实验目的 ................................................................................................................................................................38 实验任务 ................................................................................................................................................................38 实验题目 ................................................................................................................................................................38 实验步骤 ................................................................................................................................................................41 实验 11 输入输出流......................................................................................................................................................42 实验目的 ................................................................................................................................................................42 实验任务 ................................................................................................................................................................42 实验题目 ................................................................................................................................................................42 实验步骤 ................................................................................................................................................................44 实验 12 GUI 设计 ..........................................................................................................................................................45 实验目的 ................................................................................................................................................................45 实验任务 ................................................................................................................................................................45 实验题目 ................................................................................................................................................................45 实验步骤 ................................................................................................................................................................47 实验 13 线程安全的程序设计......................................................................................................................................48 实验目的 ................................................................................................................................................................48 实验任务 ................................................................................................................................................................48 实验题目 ................................................................................................................................................................48 实验步骤 ................................................................................................................................................................49 实验 14 网络程序设计 .................................................................................................................................................49 实验目的 ................................................................................................................................................................49 实验任务 ................................................................................................................................................................49 实验题目 ................................................................................................................................................................50 实验步骤 ................................................................................................................................................................51 附录 1 调试程序 ...........................................................................................................................................................56 附录 2 文本文件 I/O .....................................................................................................................................................573 实验 1 Java 开发环境实验目的1. 2. 3. 4. 熟悉 Java 程序运行环境; 对 NetBeans IDE 中创建、编译及运行有初步的了解; 编写简单的应用程序; 学会对应用程序的编译、运行。实验任务1. 2. 3. 4. 5. 熟悉 NetBeans IDE 环境,并在 NetBeans 中创建一个简单 Java Application,并能够打印出字符串; 创建简单的 Java Application,能够打印出字符、字符串和数字等; 考查读入一个字符,显示其结果的程序运行情况; 考查读入一个字符串,显示其结果的程序运行情况; 考查利用对话框方式读入数据,进行运算的程序运行情况。命名规则为了更好地完成 Java 实验,让大家在实验过程中,更加清楚实验步骤与流程,这里规定如下命名规则: 1. 每次实验为一个项目,项目名称为“Experiment&实验序号&” ,如为实验 1 建立一个项目,项目名称为 Experiment1;实验 2 为 Experiment2;…; 2. 每次实验(即一个项目)仅有一个主类“Experiment&实验序号&.Main” ,该类中只有一个 main 方法; 3. 实验中每一道实验题作为问题类的一个对象,类名为“Question&实验序号&_&题目号&” ,如实验 1 的 程序设计题第 1 题,命名为“Question1_1” ,以此类推; 4. 类 Question&实验序号&_&题目号&中设计方法 run(),在该方法中实现题目; 5. 每次实验中的所有类都位于“Experiment&实验序号&”包中; 6. 在 main 方法中,每题类的实例如仅有一个,实例名字为: “questionInstance(&实验序号&_&题目号&” 。 运行该实验题的方法是,向该实例发送消息:qustionInstance&实验数&_&题目号&.run()。实验题目1. 编写一个 Java Application 程序,该程序运行后输出效果如下:Hello Java! Hello NetBeans!2. 编写一个 Java Application 程序,该程序运行后输出效果如下:a=100 b=0.5 The result is OK! 4 3. 给出下面程序的运行效果:import java.util.S public class Question1_3 { public void run() { System.out.printf(&%s%n&, &Input an integer:&); Scanner sc = new Scanner(System.in); ch = sc.nextInt(); System.out.printf(&The input is \&#39;%d\&#39;& , i ); } }4. 给出下面程序的运行效果:import java.util.S public class Question1_4 { public void run() { S System.out.printf(&%s&, &Please input your name:&); Scanner sc = new Scanner(System.in); str = sc.next(); System.out.println(&Your name is: & + str); } }实验步骤1. 实验题目 1 实验步骤 (1)选择 NetBeans 主菜单的“File / New Project…”选项,将弹出“New Project”对话框,如图 1-1 所示。 (2) 在如图 1-1 所示的界面中, 分别选中 “Categories” 列表框中 “Java” 选项和 “Projects” 列表框中 “Java Application”选项,单击“Next”按钮,进入“New Java Application”对话框,如图 1-2 所示。 (3)在如图 1-2 所示的界面中,设置“Project Name”文本框的值为 Experiment1。图 1-1New Project 窗口图 1-2New Java Application 窗口(4)单击 Browse 浏览指定项目的名称和位置,从而打开图 1-3 所示的对话框。在此实验中,选择存储项 目的文件夹,如 E:\class\Java\JavaEx。如果磁盘上没有该文件夹,则单击“创建新的文件夹”按钮,新建5 E:\class\Java\JavaEx 文件夹。选择完成后,单击“打开”按钮返回到“New Java Application”对话框界面。图 1-3 Select Project Location 窗口(5)选中“Set as Main Project”和“Create Main Class”复选框。并将“Create Main Class”文本框的值 设置为 experiment1.Main,其中,Main 就是本项目主类的名字,experiment1 是包的名字。一个 NetBeans 项目 中可以有若干类,多个类中可以有 main()方法,但一个项目只能设置一个 main()方法起作用,这个存在起作用 的 main()方法的类称为 Main Class。 (6)单击“Finish”按钮完成项目的创建,此时光标会自动出现在 Main.java 的代码编辑窗口中,如图 1-4 所示。图 1-4代码编辑窗口―Main.java(7)右击项目窗口中的包 experience1,弹出菜单中选择“New ”“Java Class” 、 ,弹出对话框如图 1-6 所 示。6 图 1-6New Java Class 窗口(8) 在如图 1-6 所示界面中, “Class Name” 设置 文本框中的值为 Question1_1, Package 中选择 experiment1。 (9)单击“Finish”按钮完成类 Question1_1 的添加,返回到主界面。 (10)在 Question1_1.java 文件中,给类 Question1_1 添加一个方法 run(),并添加如下代码:public void run() { System.out.printf(&%s%n&, &Hello Java!&); System.out.println(&%s%n&, &Hello NetBeans!&); }添加完成后如图 1-7 所示。 (11)打开 Main.java 文件,把光标移动到// TODO code application logic here处换行,添加如下代码:Question1_1 questionInstance1_1 = new Question1_1(); questionInstance1_1.run();添加完成后如图 1-8 所示。 (12)选择主菜单中的“File / Save All”选项,保存所有文件。 (13)选择主菜单中的“Build / Build Main Project”选项,编译和打包应用程序。此时“Output”窗口在 界面下方打开,显示 Ant 脚本运行的结果,如图 1-9 所示。 (14)选择主菜单中的“Run / Run Main Project”选项,运行主项目。此时,在“Output”窗口中会显示 运行结果,如图 1-10 所示。图 1-7Question1_1.java 文件图 1-8Main.java 文件7 图 1-9编译输出窗口图 1-10运行输出窗口(15)如果代码中有错误,NetBeans 会自动给出提示(红色波浪线) 。把鼠标指针移动到波浪线上,就会 出现提示信息,并根据提示信息修改代码。如图 1-11 所示,提示“需要&#39;;&#39;” ,则需要在出错代码最后加上“;” 。图 1-11出错信息(16)如果代码格式很乱,不符合约定的格式,可选择主菜单中的“Source / Format”选项,NetBeans 会 自动格式化代码。 格式化前界面如图 1-12 所示。图 1-12格式化前界面格式化后如图 1-13 所示。8 图 1-13格式化后界面从格式化后的结果看到,除了自动对齐语句外,还能够自动安排每行语句的位置,使得它们按照约定各占 一行。 2. 实验题目 2 实验步骤 (1)在项目 Experiment1 中新建类 Question1_2。右击包 experiment1,在弹出的菜单中,选择“New / Java Class…” ,弹出“New Java Class”对话框,设置 Class Name 文本框的值为 Question1_2,其他值默认。设置完 成后如图 1-14 所示。图 1-14New Java Class 窗口(2)单击“Finish”按钮,完成类 Question1_2 的添加,返回主界面。 (3)在 Question1_2.java 文件中,给类 Question1_2 添加一个方法 run(),并添加如下代码:public void run() { int a = 10; double b = 0.5; System.out.printf(&a= %d&, a); System.out.printf(&b= %d& , b); System.out.printf(&%s%n&, &The result is OK!&); }(4)在 Main.java 文件的 main 方法中,首先通过注释的方法不再运行 Question1_1,然后添加如下代码://Question1_1 questionInstance1_1 = new Question1_1(); //questionInstance1_1.run(); Question1_2 questionInstance1_2 = new Question1_2(); questionInstance1_2.run();(5)按 F6 运行程序。运行会在输出窗口出现错误提示,图 1-15 所示。9 init: deps-jar: Compiling 2 source files to C:\Documents and Settings\Administrator\My Documents\NetBeansProjects\Experiment1\build\classes compile: run: Exception in thread &main& java.util.IllegalFormatConversionException: d != java.lang.Double at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:3978) at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2705) at java.util.Formatter$FormatSpecifier.print(Formatter.java:2658) at java.util.Formatter.format(Formatter.java:2430) at java.io.PrintStream.format(PrintStream.java:899) at java.io.PrintStream.printf(PrintStream.java:800) at javaoop.experiment1.Question1_2.run(Question1_2.java:17) at javaoop.experiment1.Main.main(Main.java:22) a= 10b= Java Result: 1图 1-15 Question1_2 运行出错图单击阴影标识出的行,Netbeans 会自动在源代码编辑窗口中定位错误行(17 行) 。把“%d”改为“%f” 后再次运行。 3. 实验题目 3 实验步骤 (1)在项目 Experiment1 中新建类 Question1_3,生成文件 Question1_3.java。 (2)在文件 Question1_3.java 中编辑如题所示代码。 (3)在文件 Main.java 中,注释前个题目的运行语句,添加如下代码:Question1_3 questionInstance1_3 = new Question1_3(); questionInstance1_3.run();(4)按 F6 运行程序。假设输入数字字符&#39;2&#39;时的运行结果如图 1-16 所示。图 1-16Question1_3 运行结果图那么,请大家根据运行结果分析一下,程序的功能是什么? 4. 实验题目 4 实验步骤 (1)在项目 Experiment1 中新建类 Question1_4,生成文件 Question1_4.java。 (2)在文件 Question1_4.java 中编辑如题所示代码。 (3)在文件 Main.java 中,注释前个题目的运行语句,添加如下代码:Question1_4 questionInstance1_4 = new Question1_4(); 10 questionInstance1_4.run();(4)按 F6 运行程序。假设输入字符串&Kevin Zhang&时的运行结果如图 1-17 所示。图 1-17Question1_4 运行结果图同样,请大家根据运行结果分析一下,程序的功能是什么?实验 2 Java 基本数据类型及运算实验目的1. 2. 3. 4. 理解 Java 语言的基本数据类型的概念和数据类型之间的转换; 掌握常量、变量和各种表达式的用法; 掌握各种运算符的优先级; 学会编写简单的 Java 程序。实验任务1. 2. 3. 4. 5. 体会自动类型转换和强制类型转换用法; 给出算术表达式、关系表达式及布尔表达式的值,体会运算符的优先级; 利用三目运算符进行编程; 进行简单 Java 编程,能够根据给出的三个变量值进行求和及平均; 进行简单 Java 编程,能够根据圆的半径计算出圆的周长及面积。实验题目1. 给出下面程序运行结果,注意掌握自动类型转换和强制类型转换的用法。// 定义变量 char c = &#39;a&#39;; byte b = 10; int i = 100; long l = 1000l; float f = 2.72f; 11 double d = 3.14159; // 自动类型转换 int ii = c + long ll = l - float ff = f * double dd = ff / i + // 强制类型转换 byte bb = (byte)i; int iii = (int) // 显示 System.out.println(&ii=& + ii + &, ll=& + ll + &, ff=& + ff + &, dd=& + dd); System.out.println(&bb=& + bb + &, iii=& + iii);根据运行结果,请问: (1)哪些变量用到了自动类型转换,哪些用到了强制类型转换? (2)强制类型转换可能会产生什么样的问题? (3)变量 dd 的结果和你预期的结果有什么样的偏差,为什么? 2. 给出下面程序的运行结果。int a = 20, b = 3, c =4, d = 5; int value1,value2,value3; value1 = a + b++; value2 = a + ++c; value3 = a++ + System.out.println(&value1=& + value1 + &, value2=& + value2 + &, value3=& + value3); boolean x,y; x = !(c&d) || b*c&a && a&b; y = c==d && b&c+d || a-b&c+d && !x; System.out.println(&x=& + x + &, y=& + y);根据运行结果,请问: (1)上面程序用到哪些运算符,其优先级如何? (2) “++”运算符放到变量之后和之前有什么区别? (3) “a+ ++b”“a+++b”和“a++ +b”一样吗,为什么? 、 3. 用条件运算符编写 Java 程序,取两数之中较大的数及较小的数,已知两个数为 10 和 5。 4. 已知某学生三科考试成绩分别为 87、92 和 75 分,试求此学生考试成绩总和及平均分,要求平均分保 留 2 位小数。 5. 计算半径为 10 的圆面积和周长。注意,π的值使用 Java 中的 Math.PI。实验步骤1. 实验题目 1 实验步骤 (1)在项目 Experiment2 中新建类 Question2_1,生成文件 Question2_1.java。 (2)在文件 Question2_1.java 中编辑如题所示代码。 (3)在文件 Main.java 中,添加如下代码:Question2_1 questionInstance2_1 = new Question2_1(); 12 questionInstance2_1.run();(4)按 F6 运行程序。运行结果如图 2-1 所示。图 2-1Question2_1 运行结果图(5)根据计算得到变量 dd 应该为 3.41359,而 NetBeans 给出的结果是 3.952,后面多出一 些小数部分,原因请学生们自己分析。 2. 实验题目 2 实验步骤 (1)在项目 Experiment2 中新建类 Question2_2,生成文件 Question2_2.java。 (2)在文件 Question2_2.java 中编辑如题所示代码。 (3)在文件 Main.java 中,添加如下代码:Question2_2 questionInstance2_2 = new Question2_2(); questionInstance2_2.run();(4)按 F6 运行程序。运行结果如图 2-2 所示。图 2-2Question2_2 运行结果图3. 实验题目 3、4 和 5 实验步骤 略。13 实验 3 流程控制语句实验目的1. 熟练掌握选择结构控制的程序设计方法; 2. 熟练掌握循环结构控制的程序设计方法。实验任务1. 2. 3. 4. 5. 理解 if 语句、if…else 语句在程序设计中的运用; 学会 switch 语句,if 嵌套语句在多重选择程序设计中的运用; 理解 while 语句、do…while 语句和 for 语句实现循环的方法; 学会运用 while 语句、do…while 语句和 for 语句实现循环; 学会多重循环和循环嵌套语句的使用。实验题目1. 编程实现学生成绩所在等级,其中,成绩大于等于 90 分为优秀,大于等于 80 分为小于 90 分为良,大 于等于 60 分小于 80 分为及格,小于 60 分为不及格。假设学生成绩为 85 分。 2. 给出下面程序的运行结果及实现的功能。/* Main.java */ package experiment3; public class Main { public static void main(String[] args) { int nowYear = 2009; int nowMonth = 3; if (args.length&0) nowYear = Integer.parseInt(args[0]); if (args.length&1) nowMonth = Integer.parseInt(args[1]); Question3_2 questionInstance = new Question3_2(); System.out.println(nowYear + &年& + nowMonth + &月有& + questionInstance.run(nowYear,nowMonth) + &天&); } } /* Question3_2.java */ package experiment3; public class Question3_2 { public int run(int year, int month) { int days = -1; 14 switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; case 4: case 6: case 9: case 11: days = 30; case 2: if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) days = 29; else days = 28; } } }3. 给出下面程序的运行结果和实现的功能。System.out.println(&输出以下数:&); for (int i=100; i&1000; i++) { int a,b,c; a = i / 100; b = i / 10 % 10; c = i % 10; if (a*a*a+b*b*b+c*c*c==i) System.out.println(i); }4. 编写 Java 程序,求 1000 以内(包括 1000)能被 3 整除或被 5 整除的所有整数之和。 5. 编写 Java 程序,给出九九乘法表。实验步骤1. 实验题目 1 实验步骤 (1)在项目 Experiment3 中新建类 Question3_1,生成文件 Question3_1.java。 (2)在文件 Question3_1.java 中编辑对应代码,其中,成绩可任意赋值,也可通过读入的方法获得。 (3)在文件 Main.java 中,添加如下代码:Question3_1 questionInstance3_1 = new Question3_1(); 15 questionInstance3_1.run();(4)按 F6 运行程序。当成绩为 85 分的时候,运行结果如图 3-1 所示。图 3-1Question3_1 运行结果图2. 实验题目 2 实验步骤 (1)在项目 Experiment3 中新建类 Question3_2,生成文件 Question3_2.java。 (2)在文件 Question3_2.java 中编辑如题所示代码。 (3)在文件 Main.java 中编辑如题所示代码。 (4)选择 NetBeans 主菜单中的“Build / Set Main Project Configuration / Customize…”选项,打开“Project Properties”对话框,如图 3-2 所示。也可以通过选择 NetBeans 主菜单中的“File / &Experiment3& Properties”选 项(&Experiment3&为工程名,根据实际情况将会有所变化) ,同样可以打开“Project Properties”对话框。图 3-2 Project Properties 窗口(5)在“Project Properties”对话框中,在 Categories 列表框中选择“run”选项。 (6)在“Arguments”文本框中填写当前日期,如“2009 4” (中间用空格分开) 。其他默认。完成后单击 “OK”按钮,返回主界面。 (7)在主界面下,按 F6 运行程序。运行结果如图 3-4 所示。16 图 3-4Question3_2 运行结果图(8)完成功能请同学们自行分析。 3. 实验题目 3 实验步骤 (1)在项目 Experiment3 中新建类 Question3_3,生成文件 Question3_3.java。 (2)在文件 Question3_3.java 中编辑对应代码。 (3)在文件 Main.java 中,添加如下代码:Question3_3 questionInstance3_3 = new Question3_3(); questionInstance3_3.run();(4)按 F6 运行程序。运行结果如图 3-5 所示。图 3-5Question3_3 运行结果图(5)完成功能请学生们自行分析。 4. 实验题目 4 实验步骤 步骤略,结果如图 3-6 所示。 5. 实验题目 5 实验步骤 步骤略,结果如图 3-7 所示。图 3-6Question3_4 运行结果图图 3-7 Question3_5 运行结果图17 实验 4 面向对象程序设计初步实验目的1. 2. 3. 4. 5. 6. 掌握根类 Object 的使用方法; 掌握类描述类 Class 的使用方法; 掌握系统类 System 的使用方法; 掌握算术运算类 Math 的使用方法; 掌握 String 类和 StringBuffer 类的使用方法; 掌握日期类 Date 和日历类 Calendar 的使用方法。实验任务1. 2. 3. 4. 5. 学会利用 String 类分析和编写程序; 理解 StringBuffer 类的用法; 学会分析 Date 类和 Calendar 类程序; 体会 System 类的使用方法; 学会利用 Math 类进行编程。实验题目1. 分析运行下面程序并给出程序结果,体会 String 类的用法。package experiment10; public class Question10_3 { public void run() { String s1 = &Hello &; String s2 = &World!&; System.out.println(&字符串 1 长:& + s1.length()); System.out.println(&字符串 2 长:& + s2.length()); System.out.println(s1.concat(s2));//连接字符串 String s3 = &Welcome &; String s4 = &to java!&; String s5 = s3 + s4; System.out.println(s5); String s6 = &Nice to meet you.&; String s7 = &Nice to meet you.&; String s8 = new String(&You are very nice. &); String s9 = new String(&You are very nice. &); 18 boolean c,d,e,f; c = s6 == s7;//s6 和 s7 指向内存中同一个存储空间 d = s6.equals(s7); e = s8 == s9;//s8 和 s9 是两个不同的对象,在内存中占用两个不同的存储空间,他们用“==”比较时,两者的值不相等; f = s8.equals(s9);//equal 方法比较的是两个变量的值; System.out.println(c + & System.out.println(e + & int i,j; i = s6.compareTo(s7); j = s6.compareTo(s9); System.out.println(i + & } } & + j); & + d); & + f);2. 分析运行下面程序并给出程序结果,回答下面问题。package experiment10; import java.util.*; public class Question10_5 { public void run() { GregorianCalendar cal = new GregorianCalendar(); Date rightNow = cal.getTime(); System.out.println(&The current time and date: & + rightNow); } }问题: (1)第二条语句含义是什么? (2)程序功能是什么?给出程序运行结果。 (3)体会 Date 类和 Calendar 类的用法。 3. 分析运行下面程序并给出程序结果,体会 System 类的使用方法。package experiment10; public class Question10_1 { public void run() { System.out.println(&file.separator is set to & + System.getProperty(&file.separator&)); System.out.println(&java.class.path is set to & + System.getProperty(&java.class.path&)); System.out.println(&java.class.version is set to & + System.getProperty(&java.class.version&)); System.out.println(&java.home is set to & + System.getProperty(&java.home&)); System.out.println(&java.vendor is set to & + System.getProperty(&java.vendor&)); System.out.println(&java.vendor.url is set to & + System.getProperty(&java.vendor.url&)); System.out.println(&java.version is set to & + System.getProperty(&java.version&)); System.out.println(System.getProperties()); } }4. 编程程序,产生 10 个 3 位随机整数,并分两行打印输出到屏幕。19 实验步骤1. 实验题目 1 实验步骤 略。 2. 实验题目 2 实验步骤 略。 3. 实验题目 3 实验步骤 4. 实验题目 4 实验步骤 步骤略。运行结果如图 10-3 所示。时间不同,运行结果也不尽相同。图 10-3Question10_5 运行结果图20 实验 5 类与对象的设计实验目的1. 2. 3. 4. 5. 6. 7. 8. 掌握类的声明和定义; 理解有静态成员和非静态成员变量的区别; 理解基本参数和引用参数的区别; 掌握类构造函数的方法; 实现类的方法; 掌握创建类实例的方法; 学会定义和使用具有重载方法的继承类; 掌握方法的重新定义。实验任务1. 2. 3. 4. 理解类的构造、方法及实例化的使用; 学会对类的创建,构造函数的使用,类属性及方法的创建,以及类的实例化及使用; 会对类的创建,类的属性及方法的创建进行独立编程; 学会对较复杂的类进行分析;实验题目1. 分析类的用法,并运行下面程序,给出程序运行结果。package experiment5; class Num { int x,y,z, Num(int i, int j, int k) { x = y = z = sum = x + y + } boolean isSameNum(Num a) { if (a.x==x && a.y==y && a.z==z) } boolean isSameSum(Num b) { 21 if (b.sum==sum) } } public class Question5_1 { public void run() { Num a = new Num(3,6,9); Num b = new Num(3,6,9); Num c = new Num(6,9,3); System.out.println(a.isSameNum(b)); System.out.println(b.isSameNum(c)); System.out.println(a.isSameSum(b)); System.out.println(b.isSameSum(c)); } }2. 设计一个 Dog 类,属性有名称、颜色、重量和年龄,定义两个构造方法,定义 toString()。声明两个方 法:狗叫和狗咬。然后实例化两个 Dog,分别让它们叫和咬。 3 创建学生类 Student 来完成下面问题。 (1)创建类 Student,包括属性学号 no、姓名 name 和年龄 age,且都是 private 类型; (2)声明一个构造方法,以初始化对象的所有的域; (3)声明获得各属性(学号、姓名和年龄)的各个方法; (4)声明设置各属性(学号、姓名和年龄)的各个方法; (5)声明一个 public 型的 toString 方法,将该类所有域信息组合成一个字符串; (6)声明统计创建 Student 对象的个数的成员变量 count 和得到 Student 对象的个数的方法。 在主类中使用 Student 类创建两个 Student 对象,输出对象所有域信息;修改其姓名和年龄,并显示。 4. 在文件 Question5_5.java 中,分析并运行下面代码,给出输出结果。package experiment5; class Rect { private double w,h; Rect(double w, double h) { this.w = this.h = } Rect (Rect s) { w = s.w; h = s.h; } double getw() { } double geth() { } double area() { 22 return getw() * geth(); } } public class Question5_5 { public void run() { Rect s[] = new Rect[3]; s[0] = new Rect(2,3); s[1] = new Rect(5,6); s[2] = new Rect(new Rect(7,8)); for (int i=0; i&s. i++) { System.out.println(&s[& + i + &] area=& + s[i].area()); } } }实验步骤1. 实验题目 1 实验步骤 略。 2. 实验题目 2 实验步骤 (1)在项目 Experiment5 中新建类 Question5_2,生成文件 Question5_2.java。 (2)在文件 Question5_2.java 中已经存在一个类 Question5_2,在类 Question5_2 外面新建一个类 Dog,并 添加属性的示例代码如下:private S private S p(3)在类 Dog 中添加无参数构造函数 Dog()函数,使用默认值初始化。 (4)在类 Dog 中添加构造函数,其中构造具体代码省略:public Dog(String name, String color, double weight, int age) { /* 构造函数 */ }(5)在类 Dog 中添加 toString()函数,函数体代码如下:return &Name:& + name + &, Color:& + color + &, Weight=& + weight + &, Age=& +(5)完成类 Dog 后,再在类 Question5_2 中添加方法 run(),编辑代码如下,同学们可以根据实际情况进 行调整:Dog Tom = new Dog(&Tom&, &white&, 2.5, 1); Dog Jerry = new Dog(&Jerry&, &blace&, 1.8, 2); …;(3)在文件 Main.java 中,添加如下代码:Question5_2 questionInstance5_2 = new Question5_2(); questionInstance5_2.run();(4)按 F6 运行程序。23 图 5-1Question5_2 运行结果图3. 实验题目 3 实验步骤 (1)在项目 Experiment5 中新建类 Question5_3,生成文件 Question5_3.java。 (2)在文件 Question5_3.java 中已经存在一个类 Question5_3,在类 Question5_3 外面新建一个类 Student, 并添加属性的示例代码如下:private S private S private static int count=0;(3)继续在类 Student 添加构造函数如下所示:public Student(String no, String name, int age) { this.no = this.name = this.age = count++; }(4)再在类 Student 添加得到和设置属性函数如下所示,这里只给出得到总数和姓名的方法如下所示:public static int getCount() { } /* getNo() */ public String getName() { } /* getAge() */ /* setNo(String no) */ public void setName(String name) { this.name = } /* setAge(int age) */(5)再给出方法 toString 代码如下:public String toString() { return &学号:& + this.no + &\t 姓名:& + this.name+ &\t 年龄:& + this. }(6)完成类 Student 后,在类 Question5_3 中添加方法 run(),编辑示例代码如下:Student s1 = new Student(&001&,&张三&, 21); System.out.println(&加入学生 s1 后,总人数为:& + Student.getCount()); Student s2 = new Student(&002&, &李四&, 22); System.out.println(&加入学生 s2 后,总人数为:& + Student.getCount()); s1.setAge(23); s2.setName(&王五&); System.out.println(s1.toStr()); System.out.println(s2.toStr());(7)在文件 Main.java 中,添加如下代码:Question5_3 questionInstance5_3 = new Question5_3(); 24 questionInstance5_3.run();(8)按 F6 运行程序,运行结果如图 5-3 所示。图 5-3Question5_3 运行结果图4. 实验题目 4 实验步骤 略。25 实验 6 类的继承实验目的1. 理解类继承的概念; 2. 掌握从现有类中继承类; 3. 掌握声明和使用继承类对象的方法;实验任务1. 编写继承类; 2. 编写超类、继承类的属性和方法;实验题目1. 根据下面程序分析类继承的实现过程,给出程序运行之后的结果。 Question6_1.java 代码如下:package experiment6; public class Question6_1 { public void run() { B sub = new B(); System.out.println(&i of B is: & + sub.i); System.out.println(&i of B&#39;s super is: & + sub.geti()); sub.addi(); System.out.println(&i of B is: & + sub.i); System.out.println(&i of B&#39;s super is: & + sub.geti()); } } class A { int i=100; public void addi() { i++; } } class B extends A { int i=10; public void minusi() { i--; } 26 public int geti() { return super.i; } }2. 根据下面给出的客户程序,设计类 Shape, Rectangle 和 Circle。public class Question6_2 { public void run() { Shape r, r = new Rectangle(0.6f, 1.2f); c = new Circle(3.5f); System.out.println(&高为 1.2,宽为 0.6 的矩形面积为:& + a_c.area(0.6f, 1.2f)); System.out.println(&半径为 3.5 的圆的面积为:& + a_c.area(3.5f)); System.out.println(&高为 1.2,宽为 0.6 的矩形周长为:& + a_c.circumference(0.6f, 1.2f)); System.out.println(&半径为 3.5 的圆的周长为:& + a_c.circumference(3.5f)); } }3. 下面是 3 个类的构造方法,要利用继承改写代码,上机验证你的代码。package experiment6; class A { String name, public A() { name = &Animal&; color = &Black&; age = 0; } } class B { String name, boolean hasL public B() { name = &Fish&; color = &Golden&; age = 1; hasLung = } } class C { String name, boolean hasT public C() { name = &Cat&; color = &White&; 27 age = 2; hasTail = } }4. 编写 Java 程序,要求利用方法重载,求任意 2 个数或 3 个数的最大数,其中,这 2 个数或 3 个数要么 全是整数,要么全是浮点数。 提示: (1)方法重载在 2 个数中使用 2 次,3 个数中使用 2 次; (2)求 3 个数的时候也可以使用 2 个数的方法。 5. 运行教材中的例子。实验步骤1. 实验题目 1 实验步骤 略。 2. 实验题目 2 实验步骤 (1)在项目 Experiment7 中新建类 Question6_2,生成文件 Question6_2.java。 (2)在文件 Question6_2.java 中添加一个抽象类 Shape,编辑代码如下:abstract class Shape { public Shape(String name) { System.out.println(&此形状为:& + name); } abstract public double area(); abstract public double circumference(); }(3)然后设计类 Circle 实现抽象类 Shape,部分代码如下:class Circle extends Shape { p /* Constructor method omitted*/ public double area() { /* The detail of method area() is omitted */ } public double circumference() { /* The detail of method circumference() is omitted */ } }(4)同样设计类 Rect,代码略。 (5)在类 Question6_2 的方法 run()中给出示例代码:Shape rect = new Rect(0.6, 1.2); System.out.println(&高为 1.2,宽为 0.6 的矩形面积:& + rect.area()); System.out.println(&高为 1.2,宽为 0.6 的矩形周长:& + rect.circumference()); Circle circle = new Circle(3.5); System.out.println(&半径为 3.5 的圆的面积:& + circle.area()); System.out.println(&半径为 3.5 的圆的周长:& + circle.circumference());(7)在文件 Main.java 中,添加如下代码:28 Question7_1 questionInstance7_1 = new Question7_1(); questionInstance7_1.run();(8)按 F6 运行程序,程序示例运行结果如图 6-2 所示。图 6-1Question6_2 运行结果图3. 实验题目 3 实验步骤 略。 4. 实验题目 4 实验步骤 步骤略,实例运行结果如图 6-2 所示。图 6-2实例运行结果图5. 实验题目 5 实验步骤实验 7 抽象类和接口实验目的1. 2. 3. 4. 掌握抽象类和抽象方法的定义和使用; 理解最终类、最终变量和最终方法的使用方法; 掌握接口的定义和使用; 掌握包的使用。29 实验任务1. 2. 3. 4. 实现抽象类的变量和抽象方法,对抽象类进行编程;学会最终变量的使用; 学会分析接口;理解包的使用; 学会分析接口,并能够对接口进行定义和实现;理解包的使用; 学会对接口进行多重继承,并实现对接口的定义。实验题目1. 验证教材中的例子,体会抽象类和接口的区别。 2. 假设在银行定期存款分半年期和一年期两种。如果是半年定期存款,利息率为 1.75%;如果是一年定 期存款,利息率为 2.25%。无论哪种存款,在得到利息后还要交利息所得税 5%。根据不同的存款金额,分别 计算存款半年和一年相应的利息。 要求: (1)设计一个存款抽象类 Cash,成员变量包括存款金额 amount、利息率 interest 和利息所得税 tax(为最 终类) ,成员方法只有抽象方法 calculate(),用来计算利息; (2)定义两个类 HalfCash 和 FullCash,分别用来完成计算和显示定期存款半年和一年相应的利息; (3)给出程序,当存款金额为 1000 元时,运行出其结果。 3. 分析下面程序的输出结果,指出第一条语句的用途,并理解接口的用途及实现过程。package experiment7; interface NextNumber { int getNext(); void setReset(int x); } class NatureNum implements NextNumber { NatureNumber() { i = 0; } public int getNext() { i++; } public void setReset(int i) { this.i = } } class EvenNum implements NextNumber { EvenNum() { i = 0; } public int getNext() { i = i + 2; 30
} public void setReset(int i) { this.i = } }public class Question7_3 { public void run() { NextNumber num = new NatureNum(); for (int i=0;i&5;i++) System.out.print(num.getNext() + & &); System.out.println(); num.setReset(10); for(int i=0;i&5;i++) System.out.print(num.getNext() + & &); NextNumber num = new EvenNum(); for (int i=0;i&5;i++) System.out.print(num.getNext() + & &); System.out.println(); } }4. 编写程序,要求如下: (1)定义 Biology(生物) 、Animal(动物)和 Mankind(人)3 个接口; (2)接口 Biology 声明 breath()抽象方法; (3)接口 Animal 继承 Biolog 并声明 move()和 eat()抽象方法; (4)接口 Mankind 继承 Animal 并声明 study()和 think()抽象方法; (5)定义类 NormalMan 实现接口 Mankind,仅显示相应的功能信息来实现它们声明的抽象方法; (6)在类 NormalMan 中定义私有变量 name,实现无参构造方法和有参构造方法初始化该变量。实验步骤1. 实验题目 2 实验步骤 步骤略。 2. 实验题目 2 实验步骤 步骤略。程序运行结果如图 7-2 所示。31 图 7-1Question7_1 示例运行结果图图 7-2Question7_2 运行结果图3. 实验题目 3 实验步骤 略。 4. 实验题目 5 实验步骤 其他步骤略,这里只给出文件 Question7_5.java 中类 Question7_5 的方法 run()实例:NormalMan kevin = new NormalMan(&Kevin&); kevin.breath(); kevin.move(); kevin.eat(); kevin.study(); kevin.think();同学们可以根据实际情况进行调整。在此实例中,程序运行结果如图 7-3 所示。图 7-3Question7_5 实例运行结果图32 实验 8 数 组实验目的1. 掌握数组的声明和使用的方法; 2. 学会使用数组进行循环程序设计的方法; 3. 理解数组排序、查找及其他算法;实验任务1. 对一维数组进行编写程序; 2. 对二维数组进行编写程序; 3. 使用 Arrays 静态方法处理数组;实验题目1. 对于一个长度为 20 的一维整数数组,编程实现顺序查找值为 60 的元素在数组中的位置,如果没有找 到,则提示“未找到 60!。 ” 2. 编写程序,实现一个 3×4 数组的转置并输出。 3. 运行下面程序并给出程序结果,并说明程序的功能。package experiment4; public class Question8_3 { public void run() { int num=10; System.out.println(&Fib(& + num + &)=& + Fib(num)); } int Fib(int n) { int[] f = new int[n]; f[0]=1; f[1]=1; for (int i=2;i&n;i++) f[i] = f[i-1] + f[i-2]; return f[n-1]; } }33 实验步骤1. 实验题目 1 实验步骤 (1)在项目 Experiment4 中新建类 Question8_1,生成文件 Question8_1.java。 (2)在文件 Question8_1.java 中编辑对应代码,其中,数组可以任意赋初值,假设赋值后数据为数组位 置的 5 倍,代码如下:int[] arrA = new int[20]; // 初始化数据 for (i=0; i&20; i++) { arrA[i] = i * 5; }(3)在文件 Main.java 中,添加如下代码:Question8_1 questionInstance8_1 = new Question4_1(); questionInstance8_1.run();(4)按 F6 运行程序,运行结果如图 4-1 所示。图 4-1Question8_1 运行结果图2. 实验题目 2 实验步骤 步骤略。结果实例如图 4-2 所示。 3. 实验题目 3 实验步骤 步骤略。结果实例如图 4-3 所示。图 4-2Question8_2 实例运行结果图图 4-3Question8_3 运行结果图34 实验 9 异 常实验目的1. 2. 3. 4. 掌握 Java 异常类的概念,理解运行时异常的具体方式; 掌握异常声明、抛出方法、捕获异常和处理异常; 掌握异常类方法的种类; 掌握自定义异常的使用方法。实验任务1. 2. 3. 4. 5. 分析一般的运行时异常; 编写简单的带有异常相关程序,学会对异常进行捕获和处理; 编写较为复杂的异常相关程序,能够在程序中灵活使用异常操作; 自定义异常; 理解自定义异常程序的方法。实验题目1. 分析并运行下面程序,并回答下面问题。package experiment9; public class Question9_1 { public void run() { for (int i=0; i&4; i++) { try { switch(i) { case 0: // 除数为 0int zero=0; a = 4 / case 1: // 数组越界访问int[] b = new int[5]; a = b[5]; case 2: int[] c = new int[-1]; a = c[0]; case 3: int[] d = a = d[0]; 35
} } catch(Exception e) { System.out.println(&Case & + i + & has an exception&); System.out.println(e); } } } }问题: (1)程序运行结果怎样,出现了哪些异常? (2)分析异常是怎样抛出、捕获和处理的? (3)程序中设计循环目的是什么? 2. 编写程序,功能为当输入一个整数字符串后,再将该整数字符串转换为整型,要求对可能出现的异常 进行和处理。 提示: (1)输入整数字符串,可能会产生 IOException 异常; (2)将字符串转换成整数的时候,可能会产生 NumberFormatException 异常。 3. 编写程序计算 n 的阶乘并捕捉可能出现的异常。 要求: (1)阶乘方法命名为 factorial(); (2)无论是否出现异常,最后都要能够显示: “Finish computing factorial number.” 。 提示: (1)输入字符串时,可能会产生 IOException 异常; (2)输入的字符串如果不能转换成 int 类型,将产生 NumberFormatException 异常; (3)当输入的字符串转换成 int 类型之后为负数时,在计算阶乘时,将产生 IllegalArgumentException 异 常; (4)其他可能错误,同样使用 IllegalArgumentExceptioin 异常; 4. 编写自定义异常程序,输入一个字符,若为小写字母直接输出;若是大写字母则转换为小写字母输出; 若不为字母,则抛出异常 InvalidCharException。实验步骤1. 实验题目 1 实验步骤 略。 2. 实验题目 2 实验步骤 步骤略。当输入一个具体字符串,如 123a123 时,程序运行结果如图 9-1 所示。36 图 9-1Question8_2 实例运行结果图3. 实验题目 3 实验步骤 步骤略。 当输入为“3”时,运行结果如图 8-2 所示;当输入为“three”时,抛出异常,运行结果如图 8-3 所示。图 9-2Question9_3 示例运行结果图 a图 9-3Question9_3 示例运行结果图 b4. 实验题目 4 实验步骤 步骤略。当输入为“-5”时,出现异常,其运行结果如图 9-4 所示。图 9-4Question9_4 实例运行结果图5. 实验题目 5 实验步骤 步骤略。当输入为“3”时,出现异常,其运行结果如图 9-5 所示:图 9-5Question9_5 实例运行结果图37 实验 10 Collection 框架实验目的1. 理解 Collection 接口和 AbstractCollection 抽象类的用途; 2. 理解 Set 接口和 AbstractSet 抽象类的用途; 3. 掌握 HashSet 类的使用方法; 4. 理解 List 接口和 AbstractList 抽象类的用途; 5. 掌握 ArrayList 类的使用方法; 6. 掌握 Vector 类的使用方法; 7. 掌握 LinkedList 类的使用方法; 8. 理解通用迭代器接口 Iterator 的用途; 9. 理解列表迭代器接口 ListIterator 的用途; 10. 理解 Map 接口的用途; 11. 掌握 AbstractMap 抽象类及其子类 HashMap 的使用方法; 12. 掌握 Dictionary 抽象类及其子类 Hashtable 的使用方法。实验任务1. 2. 3. 4. 5. 实践 HashSet 类的使用方法; 实践 ArrayList 类的使用方法; 实践针对 Vector 类进行简单应用; 实践利用 Iterator 对集合进行遍历; 实践分析有关 HashMap 类的程序。实验题目1. 运行并分析程序运行结果,回答下面问题。package experiment10; import java.util.*; public class Question10_1 { public void run() { Set set = new HashSet(); set.add(new Byte((byte)1)); set.add(new Short((short)2)); set.add(new Integer(3)); set.add(new Long(4)); set.add(new Float(5.0f)); set.add(new Double(6.0)); set.add(new Float(7.0)); 38 set.add(new Double(6)); System.out.println(set); } }问题: (1)第 2 条语句的含义是什么? (2)程序的运行结果是什么? (3)为什么编译的时候有警告错误? 2. 运行程序,回答下面问题。package experiment10; import java.util.*; class Student { S Student() { name = &&; } Student(String name) { this.name = } public String getName() { } public void setName(String name) { this.name = } } public class Question10_2 { public void run() { List&Student& students = new ArrayList&Student&(); Student stu1 = new Student(&James&); Student stu2 = new Student(&King&); Student stu3 = new Student(&Kevin&); students.add(stu1); students.add(stu2); students.add(stu3); /* print each student&#39;s name*/ } }问题: (1)根据程序补全倒数第 3 行注释所提示的程序; (2)给出运行结果; (3)如何向 List 对象中添加、删除、更新元素?如何查找元素? 3. 运行并分析程序运行结果。package experiment10; import java.util.*; public class Question10_3 { 39 public void run() { List&String& v = new Vector&String&(); v.add(&Apple&); v.add(0, &Banana&); v.addElement(&Orange&); v.add(&Mango&); v.add(1,&Grape&); v.addElement(&Strawberry&); System.out.println(v); String name = (String)v.get(3); System.out.println(name); } }问题: (1)程序出现的编译错误是什么? 什么原因? (2)add()方法和 addElement()方法有何不同? (3)对于 get()方法返回的元素是否需要强制类型转换? 4. 运行程序,回答下面问题。package experiment10; import java.util.*; public class Question10_4 { public void run() { Set&String& s = new HashSet&String&(); s.add(&first&); s.add(&1st&); s.add(&2nd&); s.add(&3rd&); s.add(&4th&); s.add(null); Iterator i = s.iterator(); boolean b = while (i.hasNext()) { System.out.println(i.next() + &\t&); if(b) { i.remove(); b = } } System.out.println(); i = s.iterator(); while (i.hasNext()) System.out.println(i.next() + &\t&); System.out.println(); } } 40 问题: (1)程序的运行结果是什么? (2)remove 方法删除掉的对象是“first”吗,如果不是,那为什么? (3)多次运行程序,得到结果都一样吗?为什么? 5. 已知类 Student:package experiment10; import java.io.*; import java.util.*; class Student { public S public S Student(String id, String name, int age) { this.id = this.name = this.age = } public String toString() { return id + & & + name + & & + } }问题: (1) 实例化 3 个 Student 对象,并放在一个 Collection 对象中,然后对这些学生对象排序。 (2) 实例化 3 个 Studeng 对象,并放在一个 Collection 对象中,要求名字不能重复,并能够通过学生姓 名从 Collection 对象获取学生对象引用。实验步骤1. 实验题目 1 实验步骤 略。 2. 实验题目 2 实验步骤 步骤略。运行结果如图 10-1 所示。图 10-1Question10_2 运行结果图3. 实验题目 3 实验步骤41 略。 4. 实验题目 4 实验步骤 步骤略。运行结果示意图如图 10-2 所示。由于机器的不同,运行结果也不尽相同。图 10-2Question10_4 运行结果图5. 实验题目 5 实验步骤 步骤略。实验 11 输入输出流实验目的1. 掌握 Java 在不同层次上输入/输出的方法; 2. 理解字节流和字符流的联系与区别; 3. 掌握文件的输入/输出机制。实验任务1. 2. 3. 4. 5. 分析字节流的使用方法; 利用字符流进行编写程序; 使用字符缓冲流进行文件的读/写操作; 使用对象流方式进行编程; 对随机文件进行分析与编程。实验题目1. 设计程序,首先 D:\java 文件夹下新建文本文件 experiment.txt,列出 D:\java 文件夹下的所有文件的名 字。把 experiment.txt 改名为 test.txt,再次列出 D:\java 文件夹下的所有文件的名字。 2. 从标准输入中读入整数 12、双精度浮点数 3.1415926、字符串 nice a day,并将其存入二进制文件。最 后程序从二进制文件中读出,并在屏幕上显示出来。 3. 从互联网上下载一个.gif 文件,另存为 D:\java\from.gif。使用二进制文件输入/输出流的应用程序,分析42 并运行下面程序,并回答下面问题。package experiment11; import java.io.*; public class Question11_1 { public void run() throws IOException { FileInputStream fi = FileOutputStream fo = try{ fi = new FileInputStream(&D:/java/from.gif&); fo = new FileOutputStream(&D:/java/ to.gif&); byte data[] = new byte[fi.available()]; fi.read(data); fo.write(data); System.out.println(&File copied and renamed&); }finally{ if (fi&&null){ fi.close(); } if (fo && null){ fo.close(); } } }问题: (1)程序的功能是什么? (2)程序运行结果怎样? 4. 从互联网上下载一段文本,存入 D:\java\file.txt,统计文件 file.txt 包含的单词个数和行的个数。 提示: (1)使用字符缓冲流 BufferedReader 类; (2)单词与单词之间是用空格分隔的; (3)其他可能错误,同样使用 IllegalArgumentExceptioin 异常; 5. 根据实验步骤,完成编程:利用对象流方式将对象数据到文件中。 提示: (1)为了能够将对象数据写入文件中,对象所属的类需要实现 Serializable 接口。 6. 使用随机文件类 RandomAccessFile 的应用程序,分析并运行下面程序。package experiment11; import java.io.*; import java.util.*; public class Question11_5 { public void run() throws IOException { File inFile = new File(&files/Question11_5/file1.txt&); File appendFile = new File(&files/Question11_5/file2.txt&); byte[] data = new byte[1024]; RandomAccessFile raf1 = new RandomAccessFile(inFile,&r&); RandomAccessFile raf2 = new RandomAccessFile(appendFile,&rw&); raf1.read(data); 43 raf2.seek(raf2.length()); raf2.write(data); raf1.close(); raf2.close(); } }实验步骤1. 实验题目 1 实验步骤 步骤略。 2. 实验题目 2 实验步骤 步骤略。 3. 实验题目 3 实验步骤 步骤略。当存放一个如图 9-1 所示的图片时,运行结果如图 11-2 所示。图 11-1from.gif 图片图 11-2Question9_1 运行结果图4. 实验题目 4 实验步骤 步骤略。运行的示例结果如图 11-3 所示。图 11-3Question11_3 实例运行结果图5. 实验题目 5 实验步骤 (1)在项目 Experiment11 中新建类 Question11_4,生成文件 Question11_4.java。 (2)在文件 Question11_4.java 中,实现 Serializable 接口代码如下:class StudentInfo implements Serializable { S S StudentInfo(String name, String sex, int age) { this.name = this.sex = 44 this.age = } public String toString() { return name + & & + sex + & & + } }(3)在类 Question11_4 的方法 run()中给出示例代码:FileOutputStream file = new FileOutputStream(&files/Question9_4/StudentInfo.txt&); ObjectOutputStream os = new ObjectOutputStream(file); StudentInfo studentInfo = new StudentInfo(&Kevin&, &Male&, 20); os.writeObject(&Student Info&); os.writeObject(studentInfo);(4)在文件 Main.java 中,添加如下代码:Question11_4 questionInstance11_4 = new Question11_4(); questionInstance11_4.run();(5)按 F6 运行程序。 6. 实验题目 6 实验步骤 略。实验 12 GUI 设计实验目的1. 理解 Swing 包常用容器,包括框架 JFram、对话框 JDialog、面板 JPanel 等的使用方法; 2. 理解 Swing 包常用控件,包括标签 JLabel、按钮 JButton、单选按钮 JRadioButton、复选框 JCheckBox、 文本控件、菜单控件等的使用方法; 3. 理解 Swing 包高级控件,包括组合框 JCombolBox、列表 JList、表格 JTable 等的使用方法; 4. 掌握 Swing 事件处理方法。实验任务1. 分析基本 Swing 控件,并进行简单编程; 2. 利用 Swing 控件进行编程; 3. 利用 Swing 高级控件进行编程; 4.综合运用 Swing 控件。实验题目1. 分析和运行程序,针对下面问题进行改进。45 package experiment13; import javax.swing.*; import java.awt.*; import java.awt.event.*; class ComputeFrame extends JFrame { private JLabel labelA, labelB; private JTextField fieldA, fieldB, fieldR private JButton buttonAdd, buttonE ComputeFrame() { Container container = getContentPane(); container.setLayout(new FlowLayout()); labelA = new JLabel(&A:&); fieldA = new JTextField(10); container.add(labelA); container.add(fieldA); labelB = new JLabel(&B:&); fieldB = new JTextField(10); container.add(labelB); container.add(fieldB); fieldResult = new JTextField(30); fieldResult.setEditable(false); container.add(fieldResult); buttonAdd = new JButton(&Add&); container.add(buttonAdd); buttonExit = new JButton(&Exit&); container.add(buttonExit); ActionEventHandler handler = new ActionEventHandler(); buttonAdd.addActionListener(handler); buttonExit.addActionListener(handler); setSize(400,140); setVisible(true); } private class ActionEventHandler implements ActionListener { public void actionPerformed(ActionEvent event) { if (event.getSource() == buttonExit) System.exit(0); // Terminate the applicationelse if (event.getSource() == buttonAdd) { int a = Integer.parseInt(fieldA.getText()); int b = Integer.parseInt(fieldB.getText()); String result = String.valueOf(a + b); fieldResult.setText(&A+B=& + result); } } } } public class Question13_1 { 46 public void run() { ComputeFrame frame1 = new ComputeFrame(); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }问题: (1)给出运行界面; (2)修改程序,将窗口标题设置为“Compute Frame” ; (3)修改程序以便能求两个浮点数之和; (4)增加“Minus”按钮,以求两个浮点数之差。 2. Introduction to GUI Building. (1)Follow the instructions in 1-gui-functionality.pdf; 3. Designing a Swing GUI in NetBeans IDE. (1)Follow the instructions in 2-quickStart-gui.pdf;实验步骤1. 实验题目 1 实验步骤 步骤略。当添加上“Minus”按钮时,运行界面如图 12-1 所示。图 12-1Question12_1 运行界面47 实验 13 线程安全的程序设计实验目的1. 2. 3. 4. 5. 6. 理解线程的基本概念; 掌握 Thread 类和 Runnable 接口的使用方法; 掌握线程池的使用方法; 掌握父线程获取子线程返回值的方法; 掌握信号量的使用方法; 掌握生产者消费者模型的实现。实验任务1. 2. 3. 4. 利用 Thread 子类方法实现多线程;用 Runnable 接口方式实现多线程 线程池管理多线程编程; 获取子线程返回值; 分析线程间同步方法。实验题目1. 运行并分析程序运行结果,回答下面问题。package experiment12; class SimpleThread extends Thread { public SimpleThread(String str) { super(str); } public void run() { for(int i=0;i&10;i++) { System.out.println(i + &: & + getName()); try { sleep((int)(Math.random()*1000)); } catch(InterruptedException e) { } } System.out.println(getName() + &has done!&); } } public class Question12_1 { 48 public void run() { SimpleThread first = new SimpleThread(&One World One Dream!&); SimpleThread second = new SimpleThread(&Welcome to China, welcome to Beiing!&); first.start(); second.start(); } }问题: (1)第 2 条语句的含义是什么? (2)程序运行结果及功能是什么? (3)在程序中,是否能够去掉 try…catch 语句,为什么? 2. Concurrency Utilities。 (1)Follow the instructions in ConcurrencyUtilities.doc;实验步骤1. 实验题目 1 实验步骤 略。 2. 实验题目 2 实验步骤实验 14 网络程序设计实验目的1. 2. 3. 4. 5. 记住网络操作的包的名称; 掌握 IP 地址封装类 InetAddress 的用法及应用; 掌握 URL 类的使用方法及应用; 学会 Socket 编程; 学会 UDP 编程。实验任务1. 使用类 InetAddress 的使用方法; 2. 使用类 URL 的使用方法; 3. 利用 UDP 方式进行数据的发送和接收等操作实现。49 实验题目1. 设计一个程序获取本机 IP,判断该 IP 的类别,并区别是 IPv4 还是 IPv6。 2. 编写程序,要求利用 URL,读取 URL 文件并显示出来。 3. 根据下面实验步骤,应用 UDP 通信方式,实现数据的发送与接收。 4. 应用 Socket 通信方式,编写 C/S 程序,要求客户端发送圆的半径,服务器端接收后,计算出圆的面积, 并将结果返回给客户端。 服务器端代码如下:try { ServerSocket serverSocket = new ServerSocket(8000); Socket connectToClient = serverSocket.accept(); DataInputStream isFromClient = new DataInputStream(connectToClient.getInputStream()); DataOutputStream osToClient = new DataOutputStream(connectToClient.getOutputStream()); while(true) { double radius = isFromClient.readDouble(); if (radius == -1.0) { serverSocket.close(); } System.out.println(&radius from client:& +

我要回帖

更多关于 免费姓名配对测姻缘 的文章

 

随机推荐