文档库 最新最全的文档下载
当前位置:文档库 › JAVA实验7-9+参考答案

JAVA实验7-9+参考答案

JAVA实验7-9+参考答案
JAVA实验7-9+参考答案

实验7 1. 编一个程序,包含以下文件。

(1)Shape.java文件,在该文件中定义接口Shape,该接口在shape包中。

属性:PI。

方法:求面积的方法area()。

(2)Circle.java文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。

属性:圆半径radius。

方法:构造方法;实现接口中求面积方法area();求周长方法perimeter()。

(3)“Cylinder.java”文件,在该文件中定义圆柱体类Cylinder,该类口在cylinder包中,继承圆类。

属性:圆柱体高度height。

(4main(),

第三步:创建主类,在其中的main()方法中创建对象,实现相应的功能。

// X5_3_6.java文件

package p3;

import p2.*;

public class X5_3_6 { // 定义主类

public static void main(String[] args) {

}

}

【参考程序】

// X5_3_6.java文件

package p3;

import p2.*;

public class X5_3_6 { // 定义主类

public static void main(String[] args) {

Circle cir1 = new Circle(120.5);

Circle cir2 = new Circle(183.8);

r1.area());

Cylinder cy1 = new Cylinder(27.3,32.7);

Cylinder cy2 = new Cylinder(133.5,155.8);

}

}

}

}

public class Cylinder extends Circle{ // 创建继承Circle类的Cylinder类double height;

public Cylinder(double r,double h){

super(r);

height = h;

}

public double area(){

return 2*PI*radius*radius+2*PI*radius*height;

}

public double volume(){

return PI*radius*radius*height;

}

}

2)定义一个接口OneToN,在接口中包含一个抽象方法disp()。定义Sum和Pro类,并分别用不同代码实现ONeToN的disp()方法,在Sum的方法中计算1~n的和,在Pro的方法中计算1~n的乘积interface OneToN

{

public void disp(int n);

}

class Sum implements OneToN

{

public void disp(int n)

{

}

}

{

{

}

}

x.disp(100);

}

}

3)改错,上传正确答案,并以注释形式给出错误原因

class SuperClass

{

public SuperClass(String msg)

}

class SubClass extends SuperClass

{

public SubClass(String msg)

{

Super(msg); //父类没有无参的构造方法,应采用super显示调用父类的构造方法}

}

public class Test1 {

public static void main(String[] args) {

SubClass descendent = new SubClass();

}

}

4)利用多态性编程,创建一个抽象类shape类,定义一个函数Area为求面积的公共方法,再定义Triangle,Rectangle和circle类,实现computerArea方法;增加display方法,显示name和area,并在Triangle,Rectangle和circle类覆盖该方法,并为每个类增加自己的构造方法;在主类中创建

1

A

C

2

A.

C.

3

A

C

4

}

A.ArithmeticException B.NumberFormatException

C.ArrayIndexOutOfBoundsException D.IOException

【解析】当程序执行到“int y = 5/x”语句时,发生异常,程序中止执行,因此发生ArithmeticException 异常。

5.运行下面程序时,会产生什么异常?( C )

public class X7_1_5 {

public static void main(String[] args) {

int[] z = {1,2,3,4};

int p = z[4];

int x = 0;

int y = 5/x;

}

}

A.ArithmeticException B.NumberFormatException

C.ArrayIndexOutOfBoundsException D.IOException

【解析】当程序执行到“int p = z[4]”语句时,发生异常,程序中止执行,因此发生ArrayIndexOutOfBoundsException异常。

6.下列程序执行的结果是( B )。

public class X7_1_6 {

public static void main(String[] args) {

try{

return;

}

finally{

}

}

}

A

C

7

A.

C.

”8

A

B

C

D

1

int[] a = new int[-5];

for(int i=0; i

a[i] = 10 + i;

}

}

}

【运行结果】

at X7_3_1.main(X7_3_1.java:3)

2.编写一个由throw抛出的、系统自行处理的数组下标越界的程序。

【编程分析】

当由throw抛出异常后,如果程序本身不进行异常处理,Java系统将采用默认的处理方式进行处理。

【参考程序】

import java.io.*;

public class X7_3_2 {

public static void main(String[] args)throws IOException{

InputStreamReader isr = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(isr);

int[] a = new int[5];

int n = Integer.parseInt(br.readLine());

if(n>5) // 当输入的n值大于5时将由throw抛出异常

throw new ArrayIndexOutOfBoundsException();

}

8

3

对象,则在

}

catch(ArithmeticException e){ // 捕捉算术异常并进行处理

}

int c[] =new int[4], sum = 0;

try{ // 当出现数组下标越界时就会抛出异常

for(int i = 0; i<5; i++) sum += c[i];

" + sum);

}

catch(ArrayIndexOutOfBoundsException e){// 捕捉数组下标越界异常并处理

}

}

}

【运行结果】

请输入两个整数:

20

出现被0除的情况!

数组下标越界!

4.编写一个由throw抛出的、由try-catch捕捉处理的分母为0以及数组下标越界的程序。

【编程分析】

当在程序出现异常之前利用throw语句来抛出异常,可以做到防患于未然,提前进行异常处理,将由被动处理异常转变为主动防止异常发生。

【参考程序】

");

e.printStackTrace();

}

}

}

5.自定义两个异常类NumberTooBigException和NumberTooSmallException,在其中定义各自的构造方法,分别打印输出“发生数字太大异常”和“发生数字太小异常”。然后在主类中定义一个带throws的方法numberException(int x),当x>100时通过throw抛出NumberTooBigException异常,当x<0时通过throw抛出NumberTooSmallException异常;最后在main()方法中调用该方法,实现从键盘中输入一个整数,如果输入的是负数,引发NumberTooSmallException异常,如果输入的数大于100,引发。NumberTooBigException异常,否则输出“没有发生异常”。

【编程分析】本题主要考察自定义异常的方法。

第一步:定义异常类NumberTooBigException

class NumberTooBigException extends Exception{

NumberTooBigException(){

super("发生数字太大异常");

}

}

第二步:定义异常类NumberTooSmallException

class NumberTooSmallException extends Exception{

NumberTooSmallException(){

super("发生数字太小异常");

}

}

}

}

}

public static void numberException(int x) throws NumberTooBigException, NumberTooSmallException{

if(x>100)

throw new NumberTooBigException();

else if (x<0)

throw new NumberTooSmallException();

else

}

}

class NumberTooBigException extends Exception{

NumberTooBigException(){

super("发生数字太大异常");

}

}

class NumberTooSmallException extends Exception{

NumberTooSmallException(){

super("发生数字太小异常");

}

}

实验9

1

A

B

C

D

2

A.

3.

A.

5

A.

6

A

B

C

D

7

A.

【解析】对鼠标操作,触发的事件是MouseEvent事件。

8.下列哪一项不属于Swing的顶层组件( C )?

A.JApplet B.JDialog C.JTree D.Jframe 【解析】JTree 只有在容器中才能显示,它不属于swing的顶层组件。9.下列说法中错误的一项是( D )。

A.在实际编程中,一般使用的是Component类的子类

B.在实际编程中,一般使用的是Container类的子类

C.Container类是Component类的子类

D.容器中可以放置构件,但是不能够放置容器

【解析】容器中既可以放置构件,也可以放置容器。

10.下列哪一项不属于AWT布局管理器( D )?

A.GridLayout B.CardLayout C.BorderLayout D.BoxLayout

【解析】BoxLayout属于swing布局管理器,不属于AWT布局管理器。

11.下列说法中错误的一项是( A )。

A.MouseAdapter是鼠标运动适配器B.WindowAdapter是窗口适配器

C.ContainerAdapter是容器适配器D.KeyAdapter是键盘适配器

【解析】MouseAdapter是鼠标适配器,而MouseMotionAdapte才是鼠标运动适配器。12.布局管理器可以管理构件的哪个属性( A )?

A.大小B.颜色C.名称D.字体

【解析】布局管理器可以管理构件的位置和大小,而不能管理构件的其他属性。

13.编写AWT图形用户界面的时候,一定要import的语句是(B )。

A.import java.awt; B.import java.awt.*;

C

14

A

方法。

15

A

16

A

B

C

D

17.

A

18

A

B

C

D

【解析】Frame的对象实例化后,没有大小,也不能看到,只有通过调用Frame的setSize()和setVisible(true)方法才能设定窗口的大小和可见性。

19.下列说法中错误的是( D )。

A.同一个对象可以监听一个事件源上多个不同的事件

B.一个类可以实现多个监听器接口

C.一个类中可以同时出现事件源和事件处理者

D.一个类只能实现一个监听器接口

【解析】一个类可以实现多个监听器接口,从而实现对多个事件的监听。

20.下列选项中不属于容器的一项是()。

A.Window B.Panel C.FlowLayout D.ScrollPane

【解析】FlowLayout类属于布局管理器,而不属于容器。

二、编程题

1.创建一个Frame类型窗口,在窗口中添加2个不同颜色的Panel面板,每个面板中添加2个按钮构件。

【编程分析】本程序主要考察窗口、面板以及按钮的创建及布局问题。

第一步:首先定义一个主类,让该类继承Frame类。

第二步:定义该类的数据成员,包括两个Panel对象,一个长度为4的Button对象数组。

第三步:创建类的工作方法,在方法中创建各个对象、设置对象属性、布局整个界面、设置窗口大小并显示界面。

第四步:在类的main()方法中创建本类对象,从而显示整个窗口界面。

【参考程序】

import java.io.*;

}

}

【运行结果】

2.创建一个Frame类型窗口,采用GridLayout布局,在窗口中创建一个计算器的界面。

【编程分析】本程序主要考察布局管理问题。

第一步:创建一个主类,其中定义两个面板,一个文本框,一个二维按钮数组,一个二维字符串数组。一个构造方法、一个main()方法。

第二步:在构造方法中创建控件,实现布局。

【参考程序】

import java.io.*;

import java.awt.*;

public class X10_3_2 extends Frame{

Panel pn1,pn2; // 定义两个面板

TextField tf; // 定义文本框控件

Button[][] bt = new Button[4][6]; // 定义按钮对象二维数组

String[][] str = {{"MC","7","8","9","/","sqrt"},{"MR","4","5","6","*","%"},

{"MS","1","2","3","-","1/x"},{"M+","0","+/-",".","+","="}};

public static void main(String[] args)throws IOException{

new X10_3_2();

}

public X10_3_2(){

pn1 = new Panel(); // 创建面板

}

3

个窗口,并在第一个窗口中添加一个按钮控件;重新定义继承自WindowAdapter类的方法windowClosing(),实现关闭窗口的目的,实现ActionListener接口中的方法actionPerformed(),从而实现点击按钮时打开第二个窗口。

第二步:在主类中的main()方法中创建类TwoFrames的对象。

【参考程序】

import java.awt.*;

public class X10_3_3 { // 定义主类

public static void main(String[] args) {

new TwoFrames();

}

}

class TwoFrames extends WindowAdapter implements ActionListener{ // 定义窗口类

Frame fr1, fr2; // 定义两个窗口

Button bt; // 定义按钮

TwoFrames(){ // 构造方法

fr1 = new Frame("First Frame");

fr2 = new Frame("Second Frame");

bt = new Button("Open Second Frame");

bt.addActionListener(this);

fr1.add(bt, BorderLayout.NORTH);

fr1.addWindowListener(this );

fr2.addWindowListener(this );

fr1.setSize(200, 150);

}

}

}

}

4

2)处理鼠

Canvas类对import java.awt.*;

public class X10_3_4 { // 定义主类

public static void main(String[] args) {

new MouseKeyFrame();

}

}

class MouseKeyFrame extends Frame { // 定义创建窗口、处理鼠标和键盘事件的类

Panel pn;

TextField tf1, tf2;

KeyHandler kh;

MouseKeyFrame(){

pn = new Panel(new BorderLayout() );

tf1 = new TextField(30);

tf2 = new TextField(30);

kh = new KeyHandler(new Dimension(200,80), Color.yellow );

pn.add(kh, BorderLayout.CENTER);

pn.add(tf2, BorderLayout.SOUTH);

this.add(tf1, BorderLayout.NORTH);

this.add(pn, BorderLayout.SOUTH);

this.addMouseListener(new MouseHandler() );

this.addMouseMotionListener(new MouseHandler() );

this.addWindowListener(new WindowAdapter(){ // 关闭窗口事件处理public void windowClosing(WindowEvent e){

}

}

// 以下2个方法是实现MouseMotionListener接口中的方法

public void mouseMoved(MouseEvent e){法

tf1.setText("Mouse moved in the frame!");

}

public void mouseDragged(MouseEvent e){

tf1.setText("Mouse dragged in the frame!");

}

}

class KeyHandler extends Canvas implements KeyListener{// 处理键盘事件内部类StringBuffer sb ;

KeyHandler(Dimension d, Color c){

sb = new StringBuffer();

this.setSize(d);

this.setBackground(c);

this.addKeyListener(this);

}

public void keyPressed(KeyEvent e){ }

public void keyReleased(KeyEvent e){ }

public void keyTyped(KeyEvent e){

tf2.setText("" + sb.append(e.getKeyChar()) );

repaint();

}

}

}

浙大JAVA 实验题答案05answer1

实验5 分支结构程序的设计 1.程序填空题,不要改变与输入输出有关的语句。 20004 计算旅途时间 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。 例:括号内是说明 输入 712 1411(出发时间是7:12,到达时间是14:11) 输出 The train journey time is 6 hrs 59 mins. import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行调整*/ hours=mins>0?hours:hours-1; mins=mins>0?mins:mins+60; //或:if(mins<0){hours-=1;mins+=60;} System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } 30001 显示两级成绩 输入一个正整数repeat (0

Java实验三实验报告

实验报告 课程名称面向对象课程设计 实验项目名称类的继承 班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1 205 专业计算机科学与技术 任课教师尹华 学号:12251102120 姓名:林淑英 实验日期:2014 年4 月28 日 广东财经大学教务处制

姓名林淑英实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验三类的继承、多态、接口、访问控制符与修饰符 实验目的:通过编程练习掌握类的继承,多态,接口,访问控制符与修饰符的使用方法。 实验原理:类的继承,接口。 实验设备:计算机,Eclipse。 实验题目: 1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年 龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。 编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。 2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义 一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。 3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有: (1)构造方法 (2)setX、setY、getX、getY、display方法 (3)类方法distance用来计算两点之间的距离 编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

JAVA实验报告参考

实验报告 实验名称工资管理程序第 2 次实验实验日期 2009- - 指导教师 班级 04软件工程学号姓名成绩 一、实验目的 1、掌握类的定义、域的定义及方法的定义。 2、掌握对象的定义与使用 3、掌握抽象类的用法 二、实验内容 1、建立一个抽象类Employee类 至少包括成员变量: 名、姓、年龄、性别 至少包括构造函数: 名和姓作为参数 至少包括方法: 取名称 至少包括抽象方法: 取收入earnings() 重写Object的toString()方法,返回Employee类的描述信息如名称信息 2、建立老板类Boss类继承Employee类 至少构造函数以名和姓及周工资作为参数 老板的工资是周工资 3、建立销售人员类 销售人员的收入= 销售量* 单价 要求:每个销售人员对象都能知道当前共有多少个销售人员 ... ... 4、在main函数中,分别创建老板对象、销售人员对象 三、实验步骤 3.1 进入eclips,创建一个名为employ的工程,新建一个抽象类Employee类 类中的成员变量有private String firstname; private String lastname; private String sex; private String age; 构造函数为employee(){} //无参数的构造函数 employee(String fn,String ln) //以名和姓为参数的构造函数 { this.firstname=fn; https://www.wendangku.net/doc/058137009.html,stname=ln; } employee(String fn,String ln,String s,String a)//参数完整的构造函数 { this(fn,ln);

java实验答案解读

实验一 水仙花数: class shuixianhua {//水仙花数 public static void main(String arg[]) { int i,a,a1,b,b1,c; for(i=100;i<1000;i++) { a=i%10; a1=i/10; b=a1%10; b1=a1/10; c=b1%10; if(i==(a*a*a+b*b*b+c*c*c)) System.out.println(i); } } } 输出如下: 153 370 371 407 打印出100以内素数: public class sushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k=0; for(i=2;i<100;i++){ if(i==2) System.out.println(i); i++; for(j=2;j

k=1; } if(k==1) System.out.println(i); } } 求1!+2!+ (20) public class jiecheng { public static void main(String[] args) { int i,sum=0,k; for(i=1;i<=20;i++) { k=ji(i); sum=k+sum; } System.out.print(sum); } static int ji(int n) { if(n==1) return 1; else return ji(n-1)*n; } } 习题2.6 public class Test{ public static void main(String[] args)//第19题,打出图形.菱形{ int n=3; for(int i=1;i<=n;i++) { for(int k=n-1;k>=i;k--) { System.out.print(" "); } for(int j=1;j<=2*i-1;j++)//打印* {

JAVA 课后实验三

实验三类与对象 1、(1)创建一个Rectangle类,添加两个(private)属性width与height (2)创建一个构造方法,选择width与height为形式参数。 (3)在Rectangle类中添加两个方法计算矩形的周长和面积 2、创建三角形、梯形和圆形的类封装:分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法。最后在主方法main中为三角形、梯形和圆形类创建对象并打印输出各种图形的周长及面积。(一个文件中包含三个class和main) a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个属能否构成一个三角形。 b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。 c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的

功能。

3、编写下面程序写出运行结果,谈谈成员变量的继承与隐藏,方法的覆盖与重载。

上例内B继承了类A,在子类B中定义变量num2与父类A 同名,故在子类中父类成员变量num2被隐藏,故sum3=10+200=210;同时在子类B中父类A方法sum2()被重写(覆盖),使num2为子类定义值200,故sum4=50+200=250. 这个例子中,B是A的一个子类。其中声明了一个和父类A同名的变量num2,并定义了与之相同的方法sum2,这时在子类B中,父类的成员变量num2被隐藏,程序第25行父类的方法sum2被重载。于是子类对象所使用的变量num2为子类中定义的num2,子类对象调用的方法sum2( )为子类中所实现的方法。 4、理解下面3个类的定义,分析它们之间的关系,写出运行结果。

《java实验报告3》

项目二 实验一 实验内容: 1.(1)阅读如图2.1所示程序。该程序实现了一个圆环类Ring,该类有3个属性,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以自行设置也可以得到其值,并且该程序还可以返回圆环的面积Area。

图2.1 (2)新建Ring.java文件,输入程序,将程序中“代码1-4”处补充完整并保存。 (3)使用DOS命令进入其所存放的目录,编译运行该程序。并将完整程序和运行结果截图写入实验报告。 实验分析: 类的定义,对象的声明。 实验程序:

实验结果截图: 实验问题分析: 实验中,主要出现两个问题 (1)中英文分号输入错误

(2)编写程序时,对象的大小写错误,导致找不到该符号 编写程序,运行前,应该进行检查。 实验二 实验内容: 2.阅读如图2.2所示程序。该程序实现了一个圆类Circle,该类有3个属性,分别是圆周率pi,半径radius和圆对象个数objectNo,其中圆周率和圆对象个数为static成员。并且该程序还有两个static方法用来设置圆周率和显示当前圆对象个数。

图2.2 (2)新建Circle.java文件,输入程序并保存。

(3)使用DOS命令进入其所存放的目录,编译运行该程序。分析观察运行结果并将运行结果截图写入实验报告。 (4)能否将程序中的cir1.setRadius(10)改为Circle.setRadius(10)?为什么?将圆周率pi的static修饰符去掉,会出现什么结果?为什么?将setPI(d ouble p)的 static修饰符去掉呢?圆对象个数objectNo为什么要设置为stat ic,它的作用是什么?将你的分析写入实验报告。 实验分析: (4)cir1.setRadius(10)不能改为Circle.setRadius(10),因为Circle是定义的方法,它是一个类,cir1是它实例化的一个对象。必须是对象调用方法才有意义。就好比具体的是哪个人相互比较才有意义。 一起将圆周率pi的static去掉,程序结果第二个pi发生微小的变动。将圆周率pi的static修饰符去掉,会出现错误:无法从静态上下文中引用非静态的变量pi。然而,将setPI(double p)的 static修饰符去掉,程序结果不变。 static修饰的变量,是在程序中与别人共享的,意思是说,objectNo设置为static之后,每增加一个圆,objectNo自动加1,从而记录圆的个数。 比如,修改前, 修改后: 很明显,修改后的当前圆的个数记录的已经出现错误。 实验程序:

JavaWeb 实验三

JavaWeb 实验三 一、JSP实验题: P105 例子4-1 P108 例4-2 P109 例4-3 P110例4-4 P111 例4-6 P115 例4-8 P118 例4-9 P124 例4-12 二、mysql实验题 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_id INT(10) NOT NULL , c_name VARCHAR(20) , grade INT(10) ); 2.为student表和score表增加记录 向student表插入记录的INSERT语句如下: INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区'); INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区'); INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市'); INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市'); INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市'); INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市'); 向score表插入记录的INSERT语句如下: INSERT INTO score VALUES(NULL,901, '计算机',98); INSERT INTO score VALUES(NULL,901, '英语', 80);

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.wendangku.net/doc/058137009.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

最新JAVA实验6答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验六. Java的接口与实现课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 10月26日 一、实验目的 (1)学习掌握Java中类怎样实现接口、接口回调技术; (2)学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 代码如下: Estimator.java interface CompurerAverage{ public double average(double x[]); } class Gymnastics implements CompurerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i

aver=aver+x[i]; } if(count>2) aver=aver/(count-2); else aver=0; return aver; } } class School implements CompurerAverage{ public double average(double[] x){ int count=x.length; double sum=0; for(int i=0;i

Java__实验三

《Java程序设计》实验报告 目录: 1题目 2目的和要求 3功能说明 4设计流程图 5源程序 6数据结果 7实验心得与体会 1、题目 用户自行定义一个异常,编程创建并抛出某个异常类的实例,运行该程序并观察执行结果。例如:用户密码的合法化验证,要求密码由4-6个数字组成,若长度不落在这个范围或不是由数字组成,抛出自己的异常。 2、目的和要求 熟悉ava的异常机制处理原理,掌握用户自定义异常类,掌握如何抛出异常、捕获并处理异常。 3、功能说明 用户密码的合法化验证,密码由4-6位数字组成,若不在范围内,则抛出“密码超出范围”,若不是数字,则抛出“密码格式错误”,输入密码正确则输出“密码是”。

— 4、设计流程图 5、源代码 import javax.swing.*; import java.awt.*; import java.awt.event.*; class passwordException extends Exception { public passwordException() { super(); } public passwordException(String s) { super(s);JOptionPane.showMessageDialog(null,s); } } public class WUXING { public static String passwordcheck()throws passwordException { String str=JOptionPane.showInputDialog(null,"输入密码:"); if(str.length()<4||str.length()>6) { throw new passwordException("密码超出范围"); } else if (!str.matches("\\d+")) { throw new passwordException("密码格式错误!!"); } return str; } public static void main(String args[]) { try{ String password = passwordcheck(); JOptionPane.showMessageDialog(null,"密码是:" + password); }catch(passwordException e){ e.printStackTrace();

java实验题及答案

面向对象程序设计(Java)实验报告 实验四数组 指导教师:赵丹 姓名:刘坤(贵州民大)学号: 专业:信息管理与信息系统日期:2015-04-22 一、实验目的: 熟悉Java数组的创建、初始化、遍历、排序等操作。 二、实验内容: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 2、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ; 3、现在给出两个数组: 数组a:“1,7,9,11,13,15,17,19”; 数组b:“2,4,6,8,10” 两个数组合并为数组c,按升序排列。 4、自己出一个和本章有关的有趣的题目,并编程解答。 三、实验步骤、分析与结论: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 ①java程序如下: public class ArraySwap { public static void main(String[] args){ int oldArr[]=new int[]{1,2,3,4,5,6}; System.out.println("转置前的数组为:"); printArray(oldArr); //输出一维数组 int newArr[]=new int[oldArr.length]; for(int i=0;i

JAVA实验报告

目录实验1 Java语言基础 实验2 数组和字符串编程 实验3 Java面向对象程序设计 实验4 Java异常处理 实验5 多线程编程 实验6 图形用户界面编程 实验7 输入与输出 实验8 网络编程 实验9 数据库编程

实验1 Java语言基础 一、实验目的和要求 1.实验目的 通过实验,掌握Java语言程序设计的基本方法。 学会Java语言中标示符的命名、运算符和表达式的应用。 熟练地掌握Java程序流程控制语句的应用。 2.实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4.有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5.使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 二、源代码 1.package addsum; public class addsum { public static void main(String s[])

{ int sum=0; for(int i=0;i<=100;i=i+2) sum=sum+i; System.out.println(sum); } } 2.package addsum; public class shuixianhua { public static void main(String[] args) { int i, j, k; for (i = 1; i <= 9; i++) { for (j = 0; j <= 9; j++) { for (k = 0; k <= 9; k++) { if ((i * 100 + j * 10 + k) == (i * i * i + j * j * j + k * k * k)) System.out.println(i * 100 + j * 10 + k + "=" + i + "*" + i + "*"+i+"+" + j + "*" + j+ "*" + j + "+" + k+ "+" + k+ "+" + k); } } } } } 3.package addsum; public class prime { public static void main(String[] args) { System.out.println("100内的素数为:"); loop: for (int i = 2; i < 100; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue loop; } } System.out.print(" " + i); } } } 4.package addsum; import java.util.Scanner; public class question4 { public static void main(String[] args) { double x,y; System.out.print("请输入x:");

java实验报告实验3答案

实验三熟悉常用java工具包并运用编程 实验目的: 本实验旨在巩固同学们对上课所讲java.util工具包中Collection,List,Set,Map加深理解,对其用法编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。 实验内容: 本实验的内容为:用Collection,List,Set,Map来存储数据,并进行排序,任何用Iterator,ListIterator或者Enumeration来打印其结果(按顺序和降序排列打印)。共分为四部分部分(前三部分必做,如果选第四个,前三个可以不做。。): (1)按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中位置为第四位插入数35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥? 程序: import java.util.*; public class SY3 { public SY3() { List list=new ArrayList(); list.add(1); list.add(10); list.add(5); list.add(7); list.add(6); list.add(2); list.add(9); list.add(20); list.add(14); list.add(35); list.add("ddy"); System.out.println("原序列:"); for(int i=0;i<=list.size()-1;i++) { System.out.println(list.get(i)); } System.out.println("新序列"); for(int i=0;i<=list.size()-1;i++) {

浙大JAVA实验题答案answer

实验8 Method的使用 1.程序填空题,不要改变与输入输出有关的语句。 50001 输入一个正整数repeat (0

java实验答案全

实验3:Java流程控制及数组 4.编写一个Java Application程序,输出区间[200,300]上的所有素数,要求写出程序的运行结果。 实验4:Java类与对象 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得性别”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的

3.按下面的要求完成Java Application程序,写出程序的运行结果。 (1)定义一个Java类Point,用来描述平面直角坐标系中点的坐标,该类应该能描述点的横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等。

实验5:Java继承与多态 2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。根据上述要求,请完成以下Java类的设计: (1)设计一个基类Student描述学生的共同特征。 (2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 (3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。 (4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相

JAVA实验报告

学生实验报告册 (理工类) 课程名称:面向对象程序设计专业班级:16计算机科学与技术(专转本)学生学号:22 学生姓名:张义丹 所属院部:计算机工程指导教师:刘晶 20 16 ——20 17 学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:Java编程基础实验学时: 6 同组学生姓名:————实验地点:工科楼A101 实验日期:实验成绩: 批改教师:刘晶批改时间:

实验1 Java编程基础 一、实验目的和要求 (1)熟练掌握及编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有和软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello world”字符串,并输出,记录操作过程。 public class Hello { public static void main(String args[]) { "Hello!"); } } (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 压缩生成".jar"文件。记录操作过程。 import .*; import class HelloApplet extends Applet { public void paint(Graphics g) { ; ("Hello!",20,20); } }

JAVA实验6答案

GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 实验六.Java 的接口与实现 课程名称JaVa 程序设计与开发 课程号16232204 技术 实验地点钟海楼实验日期 2015年 04019 10 月 26 日 、实验目的 (1) 学习掌握Java 中类怎样实现接口、接口回调技术; (2) 学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE 开发工具的PC 机。 四、实验内容和步骤 实验1 代码如下: Estimator.java in terface Compu rerAverage{ p ublic double average(double x[]); } class Gymn astics imp leme nts Compu rerAverage{ p ublic double average(double x[]){ int coun t=x.le ngth; double aver=0,te mp=0; for(i nt i=0;i

aver=aver+x[i]; } if(cou nt>2) aver=aver/(co un t-2); else aver=0; retur n aver; } } class School impi eme nts Compu rerAverage{ p ublic double average(double[] x){ int coun t=x.le ngth; double sum=0; for(i nt i=0;i

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称: 《Java程序设计实验》 班级: 信息1202 姓名: 方逸梅 学号: 1212100231 指导老师: 费玉莲 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1、6。

(四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容与要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理与内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1. 下载、安装并设置Java SDK 软件包。 2. 熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application与Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System、out、println("Hello java! 欢迎使用!"); } } } 结果示意图1

实验三 Java面向对象高级编程

实验三Java面向对象高级编程 一、实验目的 1. 掌握Java 面向对象编程技术 2. 能够使用继承创建子类并实现方法覆盖 3. 能够创建异类集合并使用多态 4. 能够创建抽象类和接口,并探究它们的多态特性 二、预备知识 1. JDK的安装设置:JDK/JRE/JVM; 2. Eclipse集成开发环境的绿色安装; 3. 掌握Java语言的面向对象特性(封装性、继承性、多态性); 4. 掌握Java语言的抽象类和接口。 三、实验描述 1. 实验类型:设计 2. 实验学时:4学时 3. 实验内容:2项(参照四) 四、实验内容 (1) 检查所使用的计算机系统: 1. 确认是否已安装JDK,并确认系统的环境变量设置; 2. 确认是否已绿色安装Eclipse集成开发环境。 (2) 实验内容一:使用继承和方法覆盖创建子类,并能够创建异类集合并使用多态 具体要求: 1. 在上述银行项目中,创建Customer类: ·位于包:com.mybank.domain中; ·向Customer类添加四个实例变量:firstName,lastName,accounts(Account对象数组,长度为10)和numberOfAccounts(记录accounts数组索引的一个整数); ·添加一个公有构造方法:两个形式参数firstName,lastname,用于初始化客户姓名、创建accounts数组和初始化accounts数组元素个数numberOfAccounts; ·添加getFirstName方法:该方法返回客户的firstName实例变量; ·添加getLastName方法:该方法返回客户的lastName实例变量; ·添加addAccount方法:该方法有一个形式参数(即Account对象),数组的下标通过实例变量numberOfAccounts实现递增,同时将该参数对象存储在accounts数组中; ·添加getNumberOfAccounts方法:该方法返回numberOfAccounts实例变量; ·添加getAccount方法:该方法返回与指定的index数组下标相关的帐户对象。 2. 创建SavingsAccount类,该类是Account类的子类: ·位于包:com.mybank.domain中; ·向SavingsAccount类中添加interestRate实例变量; ·添加一个有两个参数的公有构造方法:initBalance和interestRate。调用父类构造方法传递initBalance参数,并初始化实例变量interestRate; ·添加accumulateInterest方法:用于计算客户的利息。

相关文档