最新《Java程序设计》上机实验课件
《Java课件》上机实验三&四
第 4 页
结束
题3
编写一个图形界面程序,运行后界面如下图, 3. 编写一个图形界面程序,运行后界面如下图,其 中绘制矩形的方法是drawRect(40,50,120,80)。 中绘制矩形的方法是drawRect(40,50,120,80) drawRect(40
第 5 页
结束
题4
仿照书上例7 11,编写画出笑脸的程序。 4. 1 仿照书上例7-11,编写画出笑脸的程序。 仿照书上例7 11,编写画出哭脸的程序。 2 仿照书上例7-11,编写画出哭脸的程序。 编写“变脸”程序: 结合, 3 编写“变脸”程序: 将1和2结合, 再加入一个事件处理 程序mouseUp(),使程序运行后出现一张笑脸, mouseUp(),使程序运行后出现一张笑脸 程序mouseUp(),使程序运行后出现一张笑脸,鼠标点击一次则 变成哭脸,再点击一次又变成笑脸,依次轮换(如下图所示) 变成哭脸,再点击一次又变成笑脸,依次轮换(如下图所示)。
第 7 页
结束
题5’
Me”程序 程序, 5’. 用可视化设计的方式编写一个“Press Me 程序, . 用可视化设计的方式编写一个“ 运行后初始界面如下图左,单击3 运行后初始界面如下图左,单击3次按钮后的界面如 下图右。 下图右。
第 8 页
结束
题6
设计一个“自助早餐”的图形界面事件处理程序, 6. 设计一个“自助早餐”的图形界面事件处理程序,运 行后界面如下图左;选择早点后界面如下图右;点击“ 行后界面如下图左 ; 选择早点后界面如下图右 ; 点击 “ 确 则退出。 提示:需要编写列表的itemStateChanged() itemStateChanged()事件处理 定”则退出。(提示:需要编写列表的itemStateChanged()事件处理
Java程序设计.ppt
实验结果及分析
3. 整个系统的界面设计没有严格的要求,就是要发挥学生 的设计想象能力。界面设计的很详细,而且设计的很友 好的学生要给予高分,鼓励学生参考各种文献和资料, 尽量设计出符合实际运用的图形化界面。 4.本实验是一个综合性的实验,既考察了学生图形设计能 力,又考察了学生的与后台数据库的连接方式的掌握程 度,对学生进行了一个综合考察。锻炼了学生的综合运 用知识的能力以及编程能力。
返回
2.在工程中新建文件:
实验步骤
3.在主窗口文件中设计出登陆界面,可以采用拖 动控件的方式,包括注册和登陆两个功能。 4.创建出三个模块的界面,每个界面的控件布置 根据自己的设计尽量做好到友好,美观。 5.采用JDBC-ODBC的方式连接后台数据库,要配 置系统的数据源。 6.采用JDBC专门的SQL SERVER 2000的驱动程序 , 把SUN公司开发的专门用于SQL SERVER2000 的 驱动程序放入JDK下面的JRE文件下的LIB文件夹 下的EXT文件夹下面。
实验的要求:
整个系统的界面设计样式没有统一标准,而且这 个也没有办法有统一的格式。界面的设计充分发 挥学生的想象能力,自由选择各种控件和布局管 理方式,在满足基本功能的基础上做到友好美观。 在系统要求的功能完全实现的基础上,可以适当 的扩充系统功能,增加系统模块。 在后台数据库的连接方式上,可以在JDBC-ODBC 和专用驱动的两种方式中选取一种来实现。
员工基本情况管理模块主要是显示员工的基本情况信息以及根据条 件进行查询。 员工工资管理主要是增加和减少某个员工的工资功能。 人员流动管理包括增加员工,删除员工,员工部门调整功能。
《Java程序设计》上机实验资料
实验1: 熟悉上机环境,编写并运行简单的java程序(3学时)实验目的(1)熟悉Java程序开发环境J2SDK+JCreator的安装及使用(2)熟悉Java Application和Applet程序的结构及开发步骤(3)熟练掌握if语句的使用(4)掌握Math.sqrt()等常用数学函数的用法(5)熟悉System.out.print()的用法实验内容及要求按Java Application和Applet两种方式分别编写程序,求一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。
思考并验证(1)分别给定以下几组系数,给出输出结果a=1,b=5,c=3a=4, b=4, c=1a=2, b=3, c=2:+ i + i(2)如果程序的public类的类名和源文件的文件名不一样会有什么问题?(3)将类的public修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么?(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(“*”;) //输出一个字符’*’,并换行编写程序输出(注:在图形的中心处有一个加号’+’):** * ** * * * ** * * + * * ** * * * ** * **思考并验证下面程序片段给出了从键盘输入一个整数的方法:import java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try {String s=in.readLine();int i=Integer.parseInt(s);//转换成整形}catch(IOException e){}(1)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?(2)如何修改你的程序,按输入行数n(为奇数)输出图形?选做:编程求支付方法的种数:取1元,2元,5元纸币10张,付给18元,有几种办法?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验3:控制流程2(3学时)实验目的(1)掌握数据类型的含义(2)掌握break语句的使用(3)掌握用三种循环语句实现循环以及循环嵌套的方法实验内容及要求编程,计算11+22+33+……+66思考并验证(1)将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2)修改程序使之计算11+22+33+……+2020,你的程序能得出正确结果吗?若不能,应如何修改?(3)考虑如何通过使用break语句修改这个程序,求出最大值n,使得11+22+…+n n小于等于long数据类型所能表示的最大值(即Long.MAX_V ALUE),并给出11+22+…+n n的确切值。
Java程序设计课件(完整版)
Java程序设计课件(完整版) Java程序设计课件(完整版)第一章:概述Java是一种面向对象的编程语言,它是一种通用编程语言,广泛应用于各个领域。
本章将介绍Java的概述,包括Java的优势、应用场景和基本语法等。
1.1 Java的优势Java具有以下几个显著的优势:1) 简单易学:Java语法简洁清晰,容易上手,适合初学者。
2) 面向对象:Java是一种真正的面向对象语言,提供了丰富的类和接口。
3) 平台无关性:Java程序可以在不同操作系统平台上运行,具有很好的可移植性。
4) 安全性:Java提供了安全机制,防止恶意代码对计算机系统的破坏。
5) 强大的工具支持:Java拥有丰富的开发工具和开发环境,方便开发者进行编写、调试和测试。
1.2 Java的应用场景Java广泛应用于各个领域,包括但不限于以下几个方面:1) 网络应用开发:Java提供了强大的网络编程功能,适用于开发Web应用和分布式系统。
2) 移动应用开发:Java可以开发安卓系统的应用程序,适用于智能手机和平板电脑等移动设备。
3) 大数据处理:Java拥有良好的并发控制机制和高性能,适用于大数据处理和分布式计算。
4) 游戏开发:Java提供了丰富的图形处理和游戏开发库,适用于开发各类游戏应用。
5) 企业级应用开发:Java提供了大量的企业级框架和技术,适用于开发中大型企业应用系统。
1.3 Java的基本语法Java语言的基本语法包括:1) 变量和数据类型:Java支持多种数据类型,如整型、浮点型、字符型等,并提供了丰富的操作符。
2) 控制流程:Java支持条件语句(if-else语句、switch语句)、循环语句(for循环、while循环)等。
3) 方法和函数:Java使用方法(method)实现代码的封装和重用。
4) 类和对象:Java是一种真正的面向对象语言,所有代码都是基于类和对象的。
5) 异常处理:Java提供了异常处理机制,可以捕获和处理程序运行过程中的错误。
java上机实验
1、实验一:多线程程序设计:炮打飞机实验目的:学会使用多线程进行并发程序设计实验内容:编写一个应用程序模拟大炮打飞机。
在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。
当炮弹碰着飞机后,飞机坠落。
2、实验二:数据库编程:书目信息管理实验目的:掌握数据库编程技术。
能正确连接数据库,能对数据库中信息进行查询、插入、删除、修改。
实验内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书号、价格字段。
设计一个GUI界面进行书目管理。
在该界面上有四个选项卡,分别是查询、插入、删除、修改。
点击查询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。
文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。
点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。
在文本框中输入信息后,点击“插入”按钮,该书目信息插入数据库表中。
点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。
点击修改选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。
输入的书名必须是已存在的,否则会弹出消息框显示出错信息。
输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。
3、实验三:Applet编程:鸭子的移动实验目的:掌握Applet程序设计的方法,学会在Applet中绘制图片,能采用双缓冲技术进行图片绘制,会在Applet中采用多线程进行动画显示。
能在Applet中实现动画的平滑显示,避免闪烁现象。
实验内容:在Applet窗口中显示一只鸭子图片,要求这只鸭子以每秒100帧的速率水平移动,移到窗口边界再返回移动。
在窗口中点击鼠标,鸭子停止移动;再次点击鼠标,鸭子恢复移动。
《Java程序设计》上机实验
实验1: 熟悉上机环境,编写并运行简单的java程序(3学时)实验目的(1)熟悉Java程序开发环境J2SDK+JCreator的安装及使用(2)熟悉Java Application和Applet程序的结构及开发步骤(3)熟练掌握if语句的使用(4)掌握Math.sqrt()等常用数学函数的用法(5)熟悉System.out.print()的用法实验容及要求按Java Application和Applet两种方式分别编写程序,求一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。
思考并验证(1)分别给定以下几组系数,给出输出结果a=1,b=5, c=3a=4, b=4, c=1a=2, b=3, c=2: + i + i(2)如果程序的public类的类名和源文件的文件名不一样会有什么问题?(3)将类的public修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么?(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(“*”;) //输出一个字符’*’,并换行编写程序输出(注:在图形的中心处有一个加号’+’):** * ** * * * ** * * + * * ** * * * ** * **思考并验证下面程序片段给出了从键盘输入一个整数的方法:import java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try {String s=in.readLine();int i=Integer.parseInt(s);//转换成整形}catch(IOException e){}(1)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?(2)如何修改你的程序,按输入行数n(为奇数)输出图形?选做:编程求支付方法的种数:取1元,2元,5元纸币10,付给18元,有几种办法?班级号_学号__题号.java(多文件应压缩为rar):实验3:控制流程2(3学时)实验目的(1)掌握数据类型的含义(2)掌握break语句的使用(3)掌握用三种循环语句实现循环以及循环嵌套的方法实验容及要求编程,计算11+22+33+……+66思考并验证(1)将层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2)修改程序使之计算11+22+33+……+2020,你的程序能得出正确结果吗?若不能,应如何修改?(3)考虑如何通过使用break语句修改这个程序,求出最大值n,使得11+22+…+n n小于等于long数据类型所能表示的最大值(即Long.MAX_VALUE),并给出11+22+…+n n的确切值。
《Java程序设计基础-实验课课件》
1
If语句
使用条件判断语句来执行不同的代码块。
2
For循环
循环执行固定次数的代码块。
3
While循环
循环执行满足条件的代码块。
数组
一维数组
学习如何声明、初始化和使用一维数组。
多维数组
探索多维数组的用法,如矩阵和表格。
面向对象基础
封装
了解封装的概念和使用方法。
继承
学习如何使用继承创建新的类。
多态
掌握多态的概念和实现方式。
《Java程序设计基础—— 实验课课件》
Java程序设计基础介绍
ቤተ መጻሕፍቲ ባይዱ
1 基础概念
了解Java编程的基本原理和 概念。
2 语言特点
3 应用领域
掌握Java语言的特点和优势。
了解Java在各个领域中的应 用。
开发环境搭建
1 安装JDK
学习如何安装Java Development Kit (JDK)。
2 配置环境变量
处理机制
• try-catch语句 • throw语句 • finally语句
输入输出流
1 文件读写
2 对象序列化
3 网络通信
学习如何使用输入输出流进 行文件读写操作。
了解对象序列化的概念和用 法。
介绍TCP/IP协议和Socket编 程。
GUI编程
1
AWT
探索Abstract Window Toolkit(AWT)的基本组件。
类和对象
1 定义类
学习如何定义一个类,并创建类的实 例。
2 成员变量和方法
了解类的成员变量和方法的用法。
3 构造方法
学习如何创建构造方法来初始化对象。
Java程序设计上机实验课件
Java程序设计上机实验课件一、实验目的本实验旨在通过编写Java程序,提高学生对Java程序设计的理解和实践能力,培养学生的逻辑思维和问题解决能力。
二、实验内容1. 实验环境搭建在开始实验之前,需要搭建Java开辟环境。
可以选择安装JDK(Java Development Kit)和IDE(Integrated Development Environment,集成开辟环境)。
2. 实验一:Hello World程序编写一个简单的Java程序,输出"Hello World"。
通过这个实验,学生可以了解Java程序的基本结构和运行方式。
3. 实验二:变量和数据类型通过编写Java程序,学生可以了解Java中的变量和数据类型的使用。
可以编写一个简单的计算器程序,实现加减乘除等基本运算。
4. 实验三:条件语句和循环结构通过编写Java程序,学生可以掌握条件语句(如if-else语句)和循环结构(如for循环和while循环)的使用。
可以编写一个简单的猜数字游戏程序。
5. 实验四:数组和字符串通过编写Java程序,学生可以了解数组和字符串的使用。
可以编写一个简单的学生成绩管理程序,实现学生成绩的录入、查询和统计等功能。
6. 实验五:面向对象编程通过编写Java程序,学生可以了解面向对象编程的基本概念和使用方法。
可以编写一个简单的图书管理系统,实现图书的借阅和归还等功能。
7. 实验六:文件操作通过编写Java程序,学生可以了解文件操作的基本方法。
可以编写一个简单的文件读写程序,实现文件的读取和写入等功能。
三、实验要求1. 实验过程中要注意代码的规范性和可读性,采用合适的命名方式和注释,使程序易于理解和维护。
2. 实验完成后,需将代码和实验报告提交给指导教师,包括实验过程、实验结果和实验心得等内容。
3. 学生可以自由选择编写程序的主题,但需满足实验要求并体现所学知识。
四、实验评分标准实验评分主要根据以下几个方面进行评判:1. 程序的功能是否完整,是否满足实验要求。
《Java程序设计》电子课件.ppt
2020-11-18
谢谢观赏
29
Java垃圾回收器执行机制的生命周期
new语句 可触及状态
生命周期的开始 不再被引用 当前对象或其它对象的finalize()方法
可复活状态
当前对象或其它对象的finalize()方法 不可触及状态 回收内存
生命周期的终止
2020-11-18
谢谢观赏
30
3.1.7 方法的重载
2020-11-18
谢谢观赏
8
1. 类的声明格式 类的访问权限及其属性
[public] [abstract | final]
class <className>
类名
[extends superClassName]
[implements interfaceNameList]
类定义关键字
继承某个父类的关键字
② 局部变量——在方法内或方法内 的复合代码块(方法内部,“{”与 “}”之间的代码)声明的变量。
2020-11-18
谢谢观赏
17
【例3-3】变量的有效范围
1. public class Olympics1 { 2. private int medal_All=800;
成员变量
3. public void China() { 4. int medal_CN=100;
// 给类的成员变量赋值
int silver= b; // 使同名类成员变量silver隐藏
int copper= 50; // 使同名类成员变量copper隐藏
System.out.println(“In changModel:”+“金牌 =”+gold+“ 银牌 =”+silver+“ 铜牌"+copper);
Java程序设计实训教程课件1java介绍
集成开发环境
Eclipse(IBM) Jbuilder (Borland) Visual J++ (Microsoft) Netbeans(SUN) JPad TextPad
…
一个简单的Java应用程序
Hello ,World!
public class HelloWorld {
} //paint
} //Example_applet
注意:
import java.applet.*;
✓ 这种结构的类必须从jdk中已封装好的Applet 类派生,派生时使用extends作为关键字
import java.awt.*;
✓ 小程序中要编写一个paint()方法,该方法带一 个Graphics类变量,由java.awt.Graphics封装。
(3)面向对象更为彻底(JAVA程序完 全由类和接口组成)。
Java开发环境
➢ Java平台=Java应用编程接 口(API)+Java虚拟机 (JVM)
➢ Java软件开发工具箱 JDK
(Java Development Kit)
Java 程序
Java APIs
Java虚拟 机
Java平台 (安装 JDK)
➢ 现在:面向网络应用,类库不断丰富, 性能不断提高,应用领域不断拓展。
Oak —> Java
Java重要特点
➢面向对象 ➢与平台无关 ➢多线程、网络和小应用程序 ➢不是专用于Internet的语言 ➢Java不是万能的编程语言
➢JAVA学习
(1)基本语法与C、C++类似(但无指 针)
(2)面向对象与C++类似(但无多继 承)
JAVA上机实验new输入PPT课件
•4
// 合并两个流
• 5 for(;;) {
•6
int data = ( );
•7
if (data = = -1) break;
•8 }
第12页/共33页
6.2.3 过滤流
• 从前面的介绍可以知道,过滤流FilterInputStream和FilterOutputStream分别是 InputStream和OutputStream的子类,而且它们也都是抽象类。 FilterInputStream类和FilterOutputStream类都重写了超类InputStream和 OutputStream的方法。
• 虽然文本数据也可以看作二进制数据,但一般采用字符流处理文本数据比采用字节流效率更高,也更方便。
第5页/共33页
6.1.4 随机存取文件流
• 前面介绍的都是顺序访问的流,在Java还有一种支持随机访问的流RandomAccessFile。这个类的实例支 持同时进行的读/写操作。一个随机存取文件好比存储在文件系统中的一个大“数组”。该“数组”有一个 文件指针,输入操作从该指针所指示的地方开始读取数据,每读一个字节,指针后移一个字节。如果一个 随机存取文件以读/写方式创建,也可对其进行输出(写)操作。输出操作也从文件指针所指的地方写字节, 并将指针置于所写字节之后。当输出操作超过了“数组”的末尾,将导致文件的扩大。文件指针可用 getFilePointer()方法读取,用seek()方法设置。
• FilterInputStream和FilterOutputStream为读写处理数据的过滤流定义接口。其子 类则进一步实现接口和方法。这些子类有以下几种。
• DataInputStream类和DataOutputStream类 • BufferedInputStream和BufferedOutputStream类 • LineNumberInputStream类 • PushbackInputStream类
(新)《Java语言程序设计》上机实验指导手册
《Java语言程序设计基础教程》上机实验指导手册实验一基本数据类型与控制语句【目的】①掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;②学习同时编译多个Java源文件;③掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;④掌握使用if…else if多分支语句;⑤使用if…else分支和while循环语句解决问题。
【内容】1.一个简单的应用程序✧实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}✧实验后的练习:1.编译器怎样提示丢失大括号的错误?2.编译器怎样提示语句丢失分号的错误?3.编译器怎样提示将System写成system这一错误?编译器怎样提示将String写成string这一错误?2.联合编译✧实验要求:编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。
将4个源文件保存到同一目录中,例如:C:\100,然后编译Hello.java。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令行窗口输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令行窗口输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令行窗口输出"I am B"}}模板4 :C.javapublic class C{void fC(){【代码4】 //命令行窗口输出"I am C"}}✧实验后的练习:4.将Hello.java编译通过后,不断修改A.java源文件中的代码,比如,在命令行窗口输出“我是A类”或“我被修改了”。
《Java语言程序设计》上机实验指导手册(5)
《Java语言程序设计》上机实验指导手册(5)实验五Java面向对象编程(2)【目的】①方法中参数传递的理解。
②理解继承的含义。
③理解方法的重载。
【内容】1.方法中参数传递---传值调用。
编写一个传值调用的程序。
✧实验要求:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值。
♦编译源程序♦分析其运行结果2.方法中参数传递---调用对象方法。
编写一个调用对象方法的程序。
✧实验要求:通过调用对象的方法在方法调用后修改了成员变量的值。
♦程序源代码如下。
class KY3_6 {public static void main(String[] args) {Power p=new Power();p.ff2(10,10);System.out.println("方法调用后x="+p.x+", y="+p.y);}}class Power{int x=10, y=10;void ff2(int passX, int passY) {System.out.println("初始时x="+x+", y="+y);x=passX*passX;y=passY*passY;System.out.println("方法调用中x="+x+", y="+y);}}♦分析其运行结果以上两个实验例子仅仅是为了说明Java 编程中参数传递时要注意的问题,在实际编程中是不可取的,因为完全可以采用其它更好的方法来实现参数的传递。
思考:方法的参数传递有哪些方式?区别是什么?3.类的继承。
(1)首先预测下列程序的运行结果,然后编译、执行以验证你的预测:c lass Pet{protected String name;public Pet(String n){name = n;}public String getName(){return name;}public String move(){return "run";}public String speak(){return "";}public String toString(){return "My pet " + name;}}class Dog extends Pet{protected int weight;public Dog(String s){super(s);}}class JLab0501{public static void main(String[] args){Pet myPet = new Pet("George");Dog myDog = new Dog("Spot");System.out.println(myPet.toString() + "\n" + "Speak: " +myPet.speak() +"\n" + myPet.move() + " "+myPet.getName() + "\n");System.out.println(myDog.toString() + "\n" + "Speak: " +myDog.speak() +"\n" + myDog.move() + "" +myDog.getName() + "\n");}}(2)修改Dog类的构造函数,使之可以初始化Dog类中的weight值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1: 熟悉上机环境,编写并运行简单的java程序(3学时)实验目的(1)熟悉Java程序开发环境J2SDK+JCreator的安装及使用(2)熟悉Java Application和Applet程序的结构及开发步骤(3)熟练掌握if语句的使用(4)掌握Math.sqrt()等常用数学函数的用法(5)熟悉System.out.print()的用法实验内容及要求按Java Application和Applet两种方式分别编写程序,求一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。
思考并验证(1)分别给定以下几组系数,给出输出结果a=1,b=5,c=3a=4, b=4, c=1a=2, b=3, c=2:+ i + i(2)如果程序的public类的类名和源文件的文件名不一样会有什么问题?(3)将类的public修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么?(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(“*”;) //输出一个字符’*’,并换行编写程序输出(注:在图形的中心处有一个加号’+’):** * ** * * * ** * * + * * ** * * * ** * **思考并验证下面程序片段给出了从键盘输入一个整数的方法:import java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try {String s=in.readLine();int i=Integer.parseInt(s);//转换成整形}catch(IOException e){}(1)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?(2)如何修改你的程序,按输入行数n(为奇数)输出图形?选做:编程求支付方法的种数:取1元,2元,5元纸币10张,付给18元,有几种办法?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验3:控制流程2(3学时)实验目的(1)掌握数据类型的含义(2)掌握break语句的使用(3)掌握用三种循环语句实现循环以及循环嵌套的方法实验内容及要求编程,计算11+22+33+……+66思考并验证(1)将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2)修改程序使之计算11+22+33+……+2020,你的程序能得出正确结果吗?若不能,应如何修改?(3)考虑如何通过使用break语句修改这个程序,求出最大值n,使得11+22+…+n n小于等于long数据类型所能表示的最大值(即Long.MAX_V ALUE),并给出11+22+…+n n的确切值。
选做:求有几组和为1000的连续正整数,并输出这些整数。
实验4: 类和对象(数组)(3学时)实验目的(1)掌握Java语言中类和对象的基本概念(2)掌握Java程序设计中类和对象的定义及使用(3)学习使用数组,掌握数组的初始化方法及数组元素的引用实验内容及要求编程,求解和为15的棋盘游戏问题。
要求将从1 Array到9的九个数填入3×3的棋盘中,使得各行、各列以及两个对角线上的三个数之和均为15,并打印出结果。
如左图。
思考并验证(1)在程序中,你用到了数组了吗,使用的是几维数组?如果没有使用,在程序中该如何使用数组?它给编程带来了什么好处?(2)编程思路:(3)在程序中,你定义了哪些类,它们分别具有什么含义?(4)在程序中,你是否生成了自己定义类的对象?如果要求不可以生成类的对象实例,程序应如何修改?实验5: 继承、多态(接口和包)(3学时)实验目的(1)掌握Java语言中继承和多态的相关概念(2)掌握Java程序设计中继承和多态机制的使用(3)掌握Java语言中接口和包的概念及使用实验内容及要求仿真农场一个哺乳动物类如下所示:public class Mammal{protected int age = 2;protected int weight = 5;public Mammal(){System.out.println(“Mammal constructor”);}int getAge(){return age;}void setAge(int a){age = a;}int getWeight(){return weight;}void setWeight(int w){weight = w;}void move(){System.out.println(“Mammal move one step”);}void speak(){System.out.println(“Mammal speak!”);}void sleep(){System.out.println(“shhh, I’m sleeping.”);}}狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区别于其他动物(输出“Woof!”),还会摇尾巴(增加成员函数,输出“Tail wagging…”),乞讨食物(增加成员函数,输出“begging for food…”)。
猫、马、猪也属于哺乳动物,其叫声分别为:“Meow!”,“Winnie!”,“Oink!”。
编程分别使各个动物表现为不一样的行为。
要求将所有的动物类放置于animal.mammal包下。
定义两个新的类,表示宠物猫和宠物狗。
要求:这两个类能输出宠物所属的主人,价格等信息;将这两个类放置于animal.mammal.pet包下。
思考并验证(1)在程序中的哪些地方使用到了多态的机制?多态性为我们带来了什么好处?(2)试着把源文件放到另外一个目录下,然后编译,看看会得到什么信息?为什么会出现这种情况?(3)在定义宠物类的时候,是否使用了接口?如果没有使用,该定义一个什么接口,并如何修改程序?接口的使用为程序带来了什么好处?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验6: 异常处理(3学时)实验目的(1)理解异常的概念(2)掌握Java程序设计中异常的处理机制实验内容及要求一、输入以下代码,编译调试并分析执行结果程序1:编写用于演示异常处理机制的try-catch代码,用于测试ArrayIndexOutOfBoundsException异常,请调试:Public class CatchException{public static void main(String[] args){int [] arr=new int[10];try{arr[10]=10;}catch(ArrayIndexOutOfBoundsException e){e=new ArrayIndexoutBoundsException(“数组下标越界!”);throw e;}}}输入以上代码,并编译和调试,最后分析结果。
程序2:编写用于演示异常处理机制try-catch-finally的代码。
在此程序中,当一个数字除以0时,将引发ArithmeticException异常,引发的异常被catch捕获。
Class Program2{String name=”内蒙古大学软件学院”Int no1=10;Int no2=20;Program2(){try{System.out.println(name);System.out.println(“相除结果为:”+no1/no2);}catch(ArithmeticException I){System.out.println(“不能除以0!”);}finally{name=null;system.out.println(“Finally 已执行!”);}}public static void main(String args[]){new Program2();}}二、.编写一个程序,用于将来自用户的两个数字接受为命令行参数。
将第一个数字除以第二个数字并显示结果,处理可能的异常提示:使用两个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应用程序,用于转换若干种货币。
提供给用户一个JTextArea 以用于输入数量。
同时还应提供给用户一种选择源货币名称和目的货币名称的途径。
同时为自己的测试设置至少三种不同的货币名称及转换汇率。
思考并验证(1)画出程序运行效果图:班级号_学号_姓名_题号.java(多文件应压缩为rar):实验9: Applet(3学时)实验目的(1)掌握Java Applet程序的结构和运行机制(2)掌握Java Applet程序的生命周期中触发的各种事件(3)复习Java语言中类的继承与方法的重载机制实验内容及要求编写一个Applet程序,在窗体中分别绘制由’*’组成的正方形和圆,尽量保证’*’号之间的间距相等。