1、度java语言程序设计实验指导书5611实验一:熟悉java开发环境一、实验目的1.了解Java开发运行环境,同时学会设置JDK6.0路径;2.学习在DOS环境下编译和运行Application程序。三、实验内容1.先安装JDK6.0,安装好后,进行JDK6.0路径设置(验证性实验)。2.在DOS环境下编译和运行程序HelloJava.java,观察运行成果(验证性实验)。四、实验的软硬件环境要求硬件环境要求:PC计算机;内存512MB以上使用的软件名称、版本号以及模块:操作系统:Windows XP或Windows 7软件:JDK 6.0;DOS环境五、知识准备前期要求掌握的知识: 了解如何
2、配置JDK编译环境。实验相关理论或原理: JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。本实验指导书使用最新的jdk1.6.0_02。六、验证性实验1.JDK6.0的安
3、装和JDK6.0路径设置(1)从网上下载JDK6.0,如:(2)双击后进行JDK6.0的安装,如图1.1所示:图1.1进入安装界面(3)点击接受后,可以自定义安装,这里使用安装程序的默认路径:C:Program FilesJavajdk1.6.0_02;如图1.2所示:图1.2设置安装路径,开始自定义安装(4)点击下一步,就可以安装了如图1.3所示:图1.3正在安装JDK6.0(5)等到安装完成会弹出“安装完成”框,如图1.4所示,则完成JDK6.0的安装:图1.4 JDK6.0安装完成(6)安装好JDK6.0后,可以打开安装的目录如图1.5所示:图1.6 JDK安装好后生成的文件如果想在系统
4、的任意目录下编译和运行编写好的Java程序,需要先设置环境变量,请按以下步骤配置(记着JDK的默认安装路径C:Program FilesJavajdk1.6.0_02;)。(7)鼠标右键单击“我的电脑”,选择“属性”,在弹出对话框中选择“高级”下的环境变量如图1.7所示:图1.7 Windows系统特性界面(8)在“系统变量”中选择Path,单击“编辑”按钮(如图1.8所示),在弹出的“变量值”文本框中添加“;C:Program FilesJavajdk1.6.0_02bin”,单击确定按钮(如图1.9所示)。 图1.8Windows系统变量对话框图1.9编辑系统变量Path(9)在“系统变量
5、”中单击“新建”按钮(如图1.10所示),在弹出对话框中的“变量名”后输入java_home,“变量值”后输入“C:Program FilesJavajdk1.6.0_02bin”,单击“确定”按钮(如图1.11所示)。图1.10选择“新建”系统变量图1.11 新建系统变量java_home(10)在“环境变量”下单击“新建”按钮,在弹出对话框中的“变量名”后输入classpath,在“变量值”后输入“C:Program FilesJavajdk1.6.0_02bintools.jar; C:Program FilesJavajdk1.6.0_02jrelibrt.jar;.;”,单击“确定”
6、按钮(如图1.12所示结果)。图1.12 新建系统变量classpath(11)至此环境变量设置完毕,用户可以通过在DOS环境下直接键入javac命令按回车来检查环境变量设置是否成功,如果设置成功则可以看到如图1.12所示结果。图1.12 javac命令的相关使用语法在以后需要进入DOS命令直接编译和运行Java程序时,只需进入Java程序所在的存放目录,通过javac和Java命令编译和执行相应程序。2. 在DOS环境下编译运行ApplicationHelloJava.java(1)实验要求在试验1所安装的JDK6.0和设置的JDK路径的基础上,使用任意文本编辑器编写程序HelloJava.
7、java(代码见参考代码),编写好后,将文件保存成以HelloJava.java为文件名的文件。使用DOS命令进入HelloJava.java文件所放的目录(如图1.13所示,如:C:Example),使用javac命令编译该程序,通过编译后再该文件夹中会生成一个名为HelloJava.class的class文件(如图1.14所示),该class文件包含程序的字节码,使用Java命令执行该class文件,可在控制台下看到执行的结果(如图1.16所示)。图1.13 HelloJava.java文件的目录在DOS环境下使用【cd 文件名】格式进入下一级目录,然后键入javac HelloJava.
8、java编译程序。(可通过cd.返回上一级目录)图1.14 编译程序HelloJava.java这样打开Example文件,将发现系统自动生成了HelloJava.class文件,如图1.15所示:图1.15 生成了HelloJava.class文件然后继续输入java HelloJava命令,按回车后可以发现输出“Hello Java!”,这也就是程序运行的结果(如图1.16所示)。图1.16 一个Application 输出Hello Java(2)源程序代码参考public class HelloJava /输出Hello Java! /主程序入口 public static void
9、main(String args) System.out.println(Hello Java!); 实验二:对象和类一、实验名称和性质所属课程面向对象程序设计实验名称对象和类实验学时2实验性质验证 综合设计必做/选做必做 选做二、实验目的1理解对象和类,用类建立对象模型;2学会如何定义类和创建类的对象;3. 在用构造方法创建对象时理解构造方法的作用;4. 学会使用关键字this访问对象。三、实验内容1.编写日期类MyDate,定义日期所用变量并进行初始化,定义修改日期的方法changeDate() 用布尔变量flag来实现程序的结束与否,用displayDate() 输出日期,用方法show
10、Tips() 制出菜单,写出main()方法演示程序功能(验证性实验)。2. 编写一个圆类Circle,其中有圆周率,半径和圆对象个数,其中圆周率和圆对象个数为static成员,此外,Circle中还有两个static方法分别是设置圆周率和显示当前圆对象个数的,其余都是实例成员(设计性实验)。3.编写一个复数类,包含实部和虚部属性,还有复数相加、相减以及复数的求模、输出复数字符串“a+bi” (设计性实验)。四、实验的软硬件环境要求硬件环境要求:PC计算机;内存512MB以上使用的软件名称、版本号以及模块:操作系统: Windows XP或Windows 7软件:JDK 6.0;DOS环境五、
11、知识准备前期要求掌握的知识:了解Java中类的创建,对象的创建和使用。实验相关理论或原理:(1) 在Java语言里,对象是一组描述对象的属性和操作方法的集合,其中属性表明对象的状态,方法表明对象的行为。类是对象的定义。一个对象具有哪些属性和方法,由类来决定。从编程角度看,类是一种复合数据类型,它封装了一组变量和方法(函数)。(2)对象与类是不同但是又紧密相联的概念。类是对象的定义,对象由类来生成。类与对象的关系好比铸造车间里模具与产品的关系。模具只有一个,但是用这个模具可以浇铸出很多成型的产品出来,模具的形状决定了浇铸出来的产品的外形。在Java语言里用new关键字来生成对象,通常的格式为:
12、类名 对象名=new 类名(参数);(3)静态变量:类加载时初始化,全类公有,类名.访问;成员变量:创建对象过程中初始化,对象公有,对象.访问。六、验证性实验验证性实验11实验要求创建、编译和运行程序MyDate.java,运行结果如图7.1所示:图7.1 日期类运行结果2. 程序参考代码/MyDate.javaimport java.util.InputMismatchException;import java.util.Scanner;public class MyDate int year; int month; int day; int num_order;/ 接受来自命令行的输入,i
13、nt类型,只要负责showTips()的命令代号和日期的修改 boolean flag = true;/ 控制程序的退出,当flag = false时,退出 public MyDate() year = 2012; month = 3; day = 14; / 构造函数 public MyDate(int year, int month, int day) this.year = year; this.month = month; this.day = day; / showTips()用于提示用户相关操作代号 public void showTips() System.out.println
14、(1修改年份); System.out.println(2修改月份); System.out.println(3修改日期); System.out.println(4修改全部); System.out.println(5退出修改); public void changeDate() /修改日期的函数 Scanner _order = new Scanner(System.in); System.out.print(请输入您的命令:); /下面的数字异常没有捕获 num_order = _order.nextInt(); if (num_order = 1) System.out.println
15、(请输入新的年份:); year = _order.nextInt(); System.out.println(); else if (num_order = 2) System.out.println(请输入新的月份:); month = _order.nextInt(); System.out.println(); else if (num_order = 3) System.out.println(请输入新的日份:); day = _order.nextInt(); System.out.println(); else if (num_order = 4) System.out.prin
16、tln(请输入新的年份:); year = _order.nextInt(); System.out.println(请输入新的月份:); month = _order.nextInt(); System.out.println(请输入新的日份:); day = _order.nextInt(); System.out.println(); else if (num_order = 5) flag = false; System.out.println(程序结束); public void displayDate() /输出现在的日期函数 if (month = 0 & month = 1 &
17、 day = 31) System.out.println(目前的日期为: + year + 年 + month + 月 + day + 日); else System.out.print(您的输入与设计情况不相符,请确认后重新来过!); showTips(); changeDate(); public static void main(String args) MyDate mydate = new MyDate(); while (mydate.flag) try mydate.displayDate(); catch (InputMismatchException ime) System
18、.out.print(您的输入与要求不一致,请确定后重新来过!); mydate.changeDate(); 七、设计性实验【实验一】1实验要求编写一个圆类Circle,其中有圆周率,半径和圆对象个数,其中圆周率和圆对象个数为static成员,此外,Circle中还有两个static方法分别是设置圆周率和显示当前圆对象个数的,其余都是实例成员。程序运行结果如图7.2所示:图7.3 程序运行结果2. 程序参考代码/StaticTest.javaclass Circle static double pi = 3.14; static int objectNo = 0; int radius; Ci
19、rcle(int r) radius=r; objectNo+; Circle( ) radius = 2; objectNo+; double getArea( ) return pi*radius*radius; static void setPI(double p) pi = p; void setRadius(int r) radius = r; static void displayNo( ) System.out.println(当前圆对象个数是: + objectNo); public class StaticTest public static void main( Strin
20、g args ) Circle cir1 = new Circle(5); System.out.println(cir1圆周率是: + cir1.pi); System.out.println(cir1的半径是: + cir1.radius); System.out.println(cir1的面积是: + cir1.getArea(); cir1.displayNo(); cir1.setRadius(10); Circle cir2 = new Circle( ); cir2.setPI(3.1415); System.out.println(cir1圆周率是: + cir1.pi); S
21、ystem.out.println(cir1的半径是: + cir1.radius); System.out.println(cir2的半径是: + cir2.radius); System.out.println(cir2的面积是: + cir2.getArea(); cir2.displayNo(); 实验三:图形用户界面程序设计入门一、实验名称和性质所属课程面向对象程序设计实验名称图形用户界面程序设计入门实验学时2实验性质验证 综合 设计必做/选做必做 选做二、实验目的1.理解和掌握图形上下文和图形对象的基本概念; 2.了解Color类的构造方法和常用的方法;3.熟练掌握和运用常用的绘图
22、方法;4.了解和运用Math类来解决实际问题。三、实验内容1国际象棋棋盘由8行*8列的深浅相间的格子构成。编写程序绘制基本国际象棋棋盘(验证性实验)。2. 绘制Sin(x)和Cos(x)曲线,编写程序Trigonmetric.java,实现Java中特殊图形的输出(验证性实验)。四、实验的软硬件环境要求硬件环境要求:PC计算机;内存512MB以上使用的软件名称、版本号以及模块:操作系统:Windows XP或Windows 7软件: MyEclipse五、知识准备前期要求掌握的知识:Java的Math类和Color类。实验相关理论或原理: ColorSpace此抽象类用做一个颜色空间标记,标识
23、 Color 对象的特定颜色空间,或者通过 ColorModel 对象标识 Image、BufferedImage 或 GraphicsDevice 的特定颜色空间。ICC_ColorSpaceICC_ColorSpace 类是抽象 ColorSpace 类的实现。ICC_Profile与设备无关和设备相关颜色空间的颜色配置文件数据表示形式,该表示形式基于国际色彩联盟规范 ICC.1:2001-12,颜色配置文件的文件格式。ICC_ProfileGrayICC_Profile 类的子类,表示满足以下标准的配置文件:配置文件的颜色空间类型是 TYPE_GRAY,并且配置文件包括 grayTRCT
24、ag 和 mediaWhitePointTag 标记。ICC_ProfileRGBICC_ProfileRGB 类是 ICC_Profile 类的子类,它表示满足以下标准的配置文件: 配置文件的颜色空间类型是 RGB。验证性实验11 实验要求编写程序Chessboard.java程序,输出国际象棋棋盘如图12.1所示:12.1JApplet小程序的运行结果2. 实验参考代码 /Chessboard.javaimport java.awt.*;import javax.swing.*;public class Chessboard extends JApplet int baseXPositio
25、n,baseYPosition; int currentXPosition,currentYPosition; public void init() baseXPosition = 40;/棋盘的开始x位置 baseYPosition = 40;/棋盘的开始y位置 setBackground(Color.black);/设置背景颜色黑色 public void paint(Graphics g)/绘制棋盘 currentXPosition=baseXPosition;/currentXPosition当前的x位置; currentYPosition=baseYPosition;/current
26、YPosition当前的y位置; for (int row = 0; row 8; row+) currentXPosition=baseXPosition+row*40; for (int column = 0;column 8; column+) if(column+row)%2=0) g.setColor(Color.blue);/设置棋盘格子的颜色 else g.setColor(Color.GRAY); /设置棋盘格子的颜色 currentYPosition=baseXPosition+column*40; g.fillRect(currentXPosition, currentYP
27、osition, 40, 40); /在当前位置绘制棋盘的格子,每个格子的大小是4040像素; /end for /end paint;验证性实验21. 实验要求编译、运行程序Trigonmetric.java程序,分析通过Math类实现特殊图形的绘制。结果如图12.2所示:12.2三角函数图形结果2. 实验参考代码/Trigonometric.javaimport java.awt.*;import javax.swing.*;public class Trigonmetric extends JFrame public Trigonmetric() super(); setTitle(三角
28、函数); setSize(400,300); setVisible(true); public void paint(Graphics g) Dimension d=getSize(); int y1,y2; g.setColor(Color.black); int h = d.height / 4; g.drawLine(0,h*2,d.width,h*2); g.drawLine(h,0,h,d.height); for (int x = 10 ; x d.width; x+) y1 = h+(int)(1.0 + Math.sin(x - 10)*0.05)*h); /求sin曲线y轴坐标 y2=h+(int)(1.0+Math.cos(x-10)*0.05)*h);/求cos曲线y轴坐标 g.setColor(Color.red); g.drawOval(x,y1,5,5); g.setColor(Color.blue); g.drawOval(x,y2,5,5); public static void main(String args) Trigonmetric tr=new Trigonmetric(); tr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1