您好,欢迎访问三七文档
Java程序设计实验指导书作者:宋国柱2009年9月实验一熟悉Java程序开发环境一、实验目的1.了解和使用JDK集成环境。2.熟悉J2sdk集成环境的基本命令、功能和基本用法。配置环境变量3.了解并熟悉eclipse开发工具。4.能在eclispe中编写并运行出简单程序。二、实验内容与要求1.下载JDK,安装并配置环境变量。变量名变量值说明JAVA_HOMEC:\j2sdk(假定JDK安装在该目录下)JDK所在搜索路径PathC:\j2sdk\bin或%JAVA_HOME%\binJava实用程序的位置CLASSPATH.;c:\j2sdk\lib\dt.jar;c:\j2sdk\lib\tools.jar或.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;说明类和包文件的搜索路径2.下载并熟悉eclipse开发工具3.在eclipse中编写下面的java应用程序并运行。//HelloWorldApp.javapublicclassHelloWorldApp{publicstaticvoidmain(Stringargs[]){System.out.println(″这是我的第一个java应用程序!″);}}4.编写下面applet程序并运行。//HelloWorldApplet.javaimportjava.awt.*;importjava.applet.*;publicclassHelloWorldAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString(″HellojavainApplet!″,20,20);}}5.编写应用程序,计算100以内所有奇数的和。6.输出100以内所有素数实验二Java语言基础1.我国古代的《张丘建算经》中有这样一道著名的百鸡百钱:“鸡翁一,值钱五,给母一,值钱三,鸡雏三,值钱一。百鸡百钱,问翁、母、雏各几何?”意思是说:公鸡每只5元,母鸡每只3元,小鸡3只一元,用100元买100只鸡,问公鸡、母鸡和小鸡各能买多少只?2.已知圆的半径为r,求圆的周长c,面积s,圆球体积v。3.请编写一段程序,输入一串字符串,将字符串译成密码,密码规则是用原来的字母后面第4个字母代替原来的字母。例如:字母a后面第4个字母是e,用E来代替A。因此,China应译为Glmre。4.猜数字。编写一个Java应用程序,实现如下功能:随机分配给客户一个1—100之间的整数。用户从键盘输入自己的猜测。程序返回提示信息,提示信息分别是“猜大了”、“猜小了”、和“猜对了”。用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。提示:正确的随机整数可定义为:intrealNumber=(int)(Math.random()*100)+1;5.从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个与第10个元素互换,第2个元素与第9个元素互换……第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。实验三控制流程1.有4个整数a,b,c,d,由键盘输入,输出其中最大的数。2.输出以下图案:*************************3.编写一个Java应用程序,用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是将该数含有的数字逆序排列后得到的数和原数相同。如12121和3223等都是回文数。4.水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371就是一个水仙花数。找出所有水仙花数.5.编写java应用程序,实现冒泡排序算法。实验四类/对象1.上机运行书中,例题4.3,例题4.4,例题5.2.2.一个计算机商店销售很多品牌的计算机,每台计算机都应该记录其配置信息。配置信息包括:处理器类型和时钟频率、屏幕尺寸、内存、硬盘大小。请构造一个类来表示计算机,并为该类添加打印配置信息的方法。3.编写一个类实现银行账户的概念,包括的属性有“账号”、“储户姓名”、“地址”、“存款余额”,包含的方法有“存款”、“取款”、“查询”、“计算利息”。编写主函数验证。4.编写一个java应用程序,该程序中有3个类:Trangle。Lader和Circle,分别用来刻画“三角形”、“梯形”、“圆形”。具体要求如下:Trangle类具有类型为double的三个边以及周长、面积属性,trangle类具有返回周长、面积的功能。另外,Trangle类还具有一个boolean类型的属性,该属性用来判断三个数能否构成一个三角形。Lader类具有类型为double的上底、下底、高、面积属性。具有返回面积的功能。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。5.定义一个父类Person,属性包含姓名、地址、城市、国家、邮编,方法包括构造方法、分别设置各个属性、分别返回各个属性、显示所有属性。Persona子类有两个:学生类和教师类。学生类自己的属性包括主修专业、学号、年级、成绩(成绩每名同学包括3门成绩),增加的方法包括设置和返回增加的属性,显示方法以及构造方法,教师类自己的属性包括部门、收入,增加的方法包括设置和返回增加的属性,显示方法以及构造方法,教师类有一个职工子类,其增加的属性为小时工资,增加的方法包括设置和返回增加的属性、显示方法以及构造方法,然后编制测试程序进行测试。(选作:现有10名同学,求每门功课的平均分,并显示)6.编写一个java应用程序,除了主类外,该程序还有4个类:People,ChinaPeople,AmericanPeople和BeijingPeople类。要求如下:People类有访问权限是protect的double类型成员变量height和weight,以及publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。ChinaPeople类是People的子类,新增了publicvoidchinaGongfu()方法。要求ChinaPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。AmericanPeople类是People的子类,新增了publicvoidamericanBoxing()方法。要求People重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。BeijingPeople类是ChinaPeople的子类,新增publicvoidbeijingOpera()方法。要求BeijingPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。思考题:1.为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调用?2.内部类innerclass和外部类的区别?3.抽象类和接口的区别?实验五字符串1.随机键盘输入两英文字符串s1,s2;判断s1,s2的长度。截取s1中下标为5—11的子字符串并输出。将s1和s2连接成新的字符串并输出。将s2中所有出现的字符a用r取代并输出。将s1中所有的字符改为小写并输出,将s2中所有的字符改成大写并输出。搜索子字符串”ab”第一次,和最后一次在s2中出现的位置。2.随机输入可变长字符串strK;判断strk的长度。将字符串“END”连接到strK后面。将字符全“INSERT”插入到strK下标为7的后面。将strk翻转。用字符串“replace”取代strK中下标2—9的子字符串。3.上机运行例题6.6,例题6.8,体会equals()与==的分别。上机运行下面程序:publicstaticvoidmain(String[]args){Strings=newString(abc);//执行到这一行时,创建了几个对象?Strings1=abc;//执行到这一行时,创建了几个对象?Strings2=newString(abc);//执行到这一行时,创建了几个对象?System.out.println(s==s1);//输出结果是什么?System.out.println(s==s2);//输出结果是什么?System.out.println(s2==s1);//输出结果是什么?}4.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。5.输入一个字符串,内有数字和非数字字符,例如:A123x456kw789$34tyu678将其中连续的数字作为一个整数,依次存放到一数组a中.例如,123放在a[0],456放在a[1]......统计共有多少个整数,并输出这些数.6.随机输入一个字符串str1,没有重复出现字符并输出。譬如“teeter”就输出“r”。如果是“teeterhrk”输出“k”实验六输入输出流1.上机运行调试例题8.1,将该例题命名为类:Text2.读取上题Text.java文件。并将其内容显示出来。用available方法判断剩余的字节数。用read()方法读取前60个字节。用skip()方法跳过30个字节。用read()方法读取下面的字节。3.读取从键盘输入的一行文本并将其存储到文本line.txt中。4.数据流。写几个java类型的数据,如整型、字符型、实型。到文件jarry.dat中。并再读出来。5.上机运行例题8.13,8.16.实验七实用工具类1.上机运行例9.5,例9.9.2.已知三角形的三边a,b,c。求其面积。3.编写一个应用程序,用户从键盘输入5个学生的姓名和分数,按成绩排序输出学生的姓名和分数。4.编写一个java应用程序,用户从输入对话框输入两个日期,程序判断两个日期的大小关系,以及两个日期之间的间隔的天数。5.输出2009年9月的日历页。6.计算两个大整数的和、差、积、商。7.使用堆栈结构输出na的若干项,其中na=21na+32na,a1=3,a2=8.实验八线程1.有两个线程:student和teacher,其中student准备睡一个小时后再开始上课,teacher在输入3句“上课”后,吵醒休眠线程student。2.编写一个应用程序,有两个线程,一个负责模仿自由落体运动,一个模仿水平抛出运动。3.线程thread1每隔一秒输出一个整数,输出10个整数后,该线程挂起;thread2每隔一秒输出一个整数,输出20个整数后,让thread2调用notifyAll()方法,使得thread1线程继续执行。4.编写一个应用程序,除了主线程外,还有两个线程:first和Second.first负责模拟一个红色的按钮从坐标(10,60)运动到(100,60);second负责模拟一个绿色的按钮从坐标(100,60)运动到(200,60).实验九图形用户界面设计1.请设计一个如下图所示的GUI,不必做事件处理。2.请设计一个如下图所示的GUI,不必做事件处理。3.请设计一个如下图所示的GUI,不必做事件处理。4.请设计下图所示的GUI,不必做事件处理5.请设计下图所示的GUI,不必做事件处理6.猜数字小游戏,程序中有两个按钮buttonGetNumber和buttonEnter,单击buttonGetNumber按钮可以获得一个随机数,然后再一个文本框中输入猜测的数,再单击按钮buttonEnter。7.编写应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。设计4个按钮,分别命名为“加”、“减”、
本文标题:java实验教案
链接地址:https://www.777doc.com/doc-2878650 .html