Java程序设计上机实验课件Word格式.docx
《Java程序设计上机实验课件Word格式.docx》由会员分享,可在线阅读,更多相关《Java程序设计上机实验课件Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
接着再将类名换为其它是否可行?
这说明了什么?
(4)将程序中main前面的public去掉,重新编译执行你的程序,你看到了什么信息?
(5)将程序中main前面的static去掉,重新编译执行你的程序,你看到了什么信息?
为什么?
(6)本次上机中,你还遇到了什么问题,是如何解决的?
实验2:
控制流程1(3学时)
(1)进一步熟悉使用if语句
(2)掌握循环语句实现循环的方法
输出时,只使用下面的语句:
System.out.print(“”);
//输出一个空格,并且不换行
System.out.print(“*”);
//输出一个字符’*’,并且不换行
System.out.print(“+”);
//输出一个字符’+’,并且不换行
System.out.println(“*”;
)//输出一个字符’*’,并换行
编写程序输出(注:
在图形的中心处有一个加号’+’):
*
***
*****
***+***
下面程序片段给出了从键盘输入一个整数的方法:
importjava.io.*;
InputStreamReaderir;
BufferedReaderin;
ir=newInputStreamReader(System.in);
in=newBufferedReader(ir);
try{Strings=in.readLine();
inti=Integer.parseInt(s);
//转换成整形
}
catch(IOExceptione){}
(1)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?
(2)如何修改你的程序,按输入行数n(为奇数)输出图形?
选做:
编程求支付方法的种数:
取1元,2元,5元纸币10张,付给18元,有几种办法?
实验3:
控制流程2(3学时)
(1)掌握数据类型的含义
(2)掌握break语句的使用
(3)掌握用三种循环语句实现循环以及循环嵌套的方法
编程,计算11+22+33+……+66
(1)将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?
(2)修改程序使之计算11+22+33+……+2020,你的程序能得出正确结果吗?
若不能,应如何修改?
(3)考虑如何通过使用break语句修改这个程序,求出最大值n,使得11+22+…+nn小于等于long数据类型所能表示的最大值(即Long.MAX_VALUE),并给出11+22+…+nn的确切值。
求有几组和为1000的连续正整数,并输出这些整数。
实验4:
类和对象(数组)(3学时)
(1)掌握Java语言中类和对象的基本概念
(2)掌握Java程序设计中类和对象的定义及使用
(3)学习使用数组,掌握数组的初始化方法及数组元素的引用
2
7
6
9
5
1
4
3
8
编程,求解和为15的棋盘游戏问题。
要求将从1到9的九个数填入3×
3的棋盘中,使得各行、各列以及两个对角线上的三个数之和均为15,并打印出结果。
如左图。
(1)在程序中,你用到了数组了吗,使用的是几维数组?
如果没有使用,在程序中该如何使用数组?
它给编程带来了什么好处?
(2)编程思路:
(3)在程序中,你定义了哪些类,它们分别具有什么含义?
(4)在程序中,你是否生成了自己定义类的对象?
如果要求不可以生成类的对象实例,程序应如何修改?
实验5:
继承、多态(接口和包)(3学时)
(1)掌握Java语言中继承和多态的相关概念
(2)掌握Java程序设计中继承和多态机制的使用
(3)掌握Java语言中接口和包的概念及使用
仿真农场
一个哺乳动物类如下所示:
publicclassMammal{
protectedintage=2;
protectedintweight=5;
publicMammal(){
System.out.println(“Mammalconstructor”);
intgetAge(){returnage;
voidsetAge(inta){age=a;
intgetWeight(){returnweight;
voidsetWeight(intw){weight=w;
voidmove(){System.out.println(“Mammalmoveonestep”);
voidspeak(){System.out.println(“Mammalspeak!
”);
voidsleep(){System.out.println(“shhh,I’msleeping.”);
狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区别于其他动物(输出“Woof!
”),还会摇尾巴(增加成员函数,输出“Tailwagging…”),乞讨食物(增加成员函数,输出“beggingforfood…”)。
猫、马、猪也属于哺乳动物,其叫声分别为:
“Meow!
”,“Winnie!
”,“Oink!
”。
编程分别使各个动物表现为不一样的行为。
要求将所有的动物类放置于animal.mammal包下。
定义两个新的类,表示宠物猫和宠物狗。
要求:
这两个类能输出宠物所属的主人,价格等信息;
将这两个类放置于animal.mammal.pet包下。
(1)在程序中的哪些地方使用到了多态的机制?
多态性为我们带来了什么好处?
(2)试着把源文件放到另外一个目录下,然后编译,看看会得到什么信息?
为什么会出现这种情况?
(3)在定义宠物类的时候,是否使用了接口?
如果没有使用,该定义一个什么接口,并如何修改程序?
接口的使用为程序带来了什么好处?
实验6:
异常处理(3学时)
(1)理解异常的概念
(2)掌握Java程序设计中异常的处理机制
一、输入以下代码,编译调试并分析执行结果
程序1:
编写用于演示异常处理机制的try-catch代码,用于测试
ArrayIndexOutOfBoundsException异常,请调试:
PublicclassCatchException
{
publicstaticvoidmain(String[]args)
int[]arr=newint[10];
try
arr[10]=10;
catch(ArrayIndexOutOfBoundsExceptione)
e=newArrayIndexoutBoundsException(“数组下标越界!
throwe;
输入以上代码,并编译和调试,最后分析结果。
程序2:
编写用于演示异常处理机制try-catch-finally的代码。
在此程序中,当一个数字除以0时,将引发ArithmeticException异常,引发的异常被catch捕获。
ClassProgram2
Stringname=”内蒙古大学软件学院”
Intno1=10;
Intno2=20;
Program2()
System.out.println(name);
System.out.println(“相除结果为:
”+no1/no2);
catch(ArithmeticExceptionI)
System.out.println(“不能除以0!
finally
name=null;
system.out.println(“Finally已执行!
}
publicstaticvoidmain(Stringargs[])
newProgram2();
二、.编写一个程序,用于将来自用户的两个数字接受为命令行参数。
将第一个数字除以第二个数字并显示结果,处理可能的异常提示:
使用两个catch语句,一个用于捕获ArrayIndexOutOfBoundsException异常(从命令行传来的参数个数不对),而另一个用于捕获ArithmaticException异常。
编写一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。
如果输入的参数为一个、二个、三个则它们应分别对应正方形、长方形、三角形,如果没有参数,则通过异常处理方法现实错误消息。
(用于计算面积的方法是一个重载的方法)。
提示:
定义一个抽象的父类,并提供一个抽象的方法area().再派生出三个子类,重写area()方法,然后在main方法中编写测试逻辑。
实验7:
输入/输出(3学时)
(1)了解流类及相关的包
(2)掌握常用的流类及其成员函数的使用方法
(3)学习输入/输出的基本方式
(4)巩固常用组件的使用及其事件的处理方式
建立一个班级下拉式列表,列表项中有2004
(1)班,2004
(2)班,2004(3)班和2004(4)班。
当点击某个选项时,将其成绩单显示在文本区中。
(1)抓取程序运行的一个界面:
(2)你的程序涉及到的文件有:
(3)你是通过什么途径建立这些文件的?
(4)能否用word建立这些文件?
实验8:
界面布局(3学时)
(1)熟练运用标签、按钮、文本框等基本组件,掌握按钮等组件的事件处理方法
(2)熟悉JTextArea的用法
(3)熟悉下拉列表框的用法
创建一个GUI应用程序,用于转换若干种货币。
提供给用户一个JT