《Java语言程序设计》——软件实验指导书

时间:2024.3.10

《Java程序设计》

实验指导书

太原理工大学

计算机科学与技术学院(软件学院)

                                     

目  录

实验1 Java语言基础... 3

实验2 数组和字符串编程... 4

实验3 Java面向对象程序设计... 5

实验4 Java异常处理... 7

实验5 多线程编程... 9

实验6 图形用户界面编程... 11

实验7 输入与输出... 14

实验8 网络编程... 15

实验9 数据库编程... 16


实验1  Java语言基础

1.实验目的

(1) 通过实验,掌握Java语言程序设计的基本方法。

(2) 学会Java语言中标示符的命名、运算符和表达式的应用。

(3) 熟练地掌握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整除,也是闰年。

3.实验预习

(1) 复习本章所学内容。

(2) 写出实验内容中第(2)、(3)题两个程序的源代码,作为预习报告。

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

实验2  数组和字符串编程

1.实验目的

(1) 通过实验,掌握Java语言中数组、字符串程序设计的基本方法。

(2) 较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。

2.实验内容

(1) 编写一个程序,在控制台输入10个数,按大小顺序输出。

(2) 求一个3*3矩阵对角元素之和。

(3) 输入一段字符串,统计其中有多少个单词。(单词用空格隔开)

3.实验预习

(1) 将本章所学内容要点进行整理,并认真体会例题中的编程要领。

(2) 写出实验内容中第(2)、(3)题两个程序的源代码,作为预习报告。

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

实验3  Java面向对象程序设计

1.实验目的

掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。

2.实验内容

(1) 创建一个复数类complex,以附属进行数学运算、复数具有如下格式:RealPart+ImaginaryRart*I ,其中,I为-1的平方根。

  要求如下:

① 利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。

② 提供两复数加、减、乘的运算方法。

③ 按格式(a,b)打印复数。其中a为实部,b为虚部。

(2) 创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。

(3) 编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。

(4) 编程实现以下简单超市管理,具体要求如下:

① 实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;

② 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。

③  main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作

提示:① 超市货架可以使用商品数组,数组大小100表明存放100个商品。

② 注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。

3.实验预习要求

复习本章所学内容,思考以下问题:

(1) 什么是对象?什么是类?

(2) 面向对象编程的特性有哪三个?它们各自有哪些特性?

(3) Java语言在面向对象编程方面有哪些独特的特点?

(4) 抽象类与接口有何异同?

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

实验4 Java异常处理

1.实验目的

掌握异常的概念,以及如何定义、抛出和捕获处理异常。

2.实验内容

(1) 做实验之前要求思考以下问题,作为预习内容;

① 错误和异常有何区别?查看Java异常类的关系图。

② 异常是如何抛出、捕获和处理的?

③ Java捕获和处理异常的结构式怎样的?

④ Try语句如何嵌套?Trow语句有何作用?Finally程序快的作用是什么?

(2) 运行下面的程序,理解异常的抛出、捕获与处理。

Import java.io.*;

public class void main(String args[]){

  public staic void main(String args[]){

    for(int i=0;i<4;i++){

       int k;

       try{

         switch(i){

           case 0: //divided by zero

             int zero=0;

            k=911  //zero

            break;

          case 1://null pointer

            int b[]=null;

            k=b[0];

            break;

          case 2; //array index out of bound

            int c[]=new int[2];

            k=c[9];

            break;

          case 3: //string index out of bound

            char ch="abc".charAt(99);

            break;

         }

        }catch(Exception e){

         System.out.println("\nTestcase#"+i+"\n");

         System.out.println(e);

        }

      }

   }

 }

(3)在实验三中的超市、商品类中创建一个自定义异常类。

 要求:在定义商品类时,若销售商品数量大于余额则作为异常处理(InsufficientFundsException)。

提示:

① 产生异常条件是某类商品销售数量大于库存额,因此是否抛出异常要先判断该条件。

② 确定产生异常的方法,应该在sale方法中产生异常Insufficient Funds Exception。

③ 处理异常安排在调用sale的时候,因此sale方法要声明异常,由上级方法捕获并处理。

④ 要定义好自己的异常。

3.实验步骤及结果

在实验过程中记录实验步骤及其结构。

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

实验5 多线程编程

1.实验目的

(1) 现成的概念、线程的生命周期。

(2) 多线程的编程:扩展Thread类与使用Runnable接口。

(3) 使用多线程机制实现动画

2.实验内容

(1) 运行下面的程序,理解用创建Thread子类的方法实现多线程。

//S09_01_Thread.Java

Import java.util.*;

class S09_01_Thread extends Thread {

  int pauseTime;

  String name;

  public S09_01_Thread(int x,String n){

    pauseTime=x;

    name=n;

}

public void run(){

  while(true){

  try{

  system.out.println(name+":"+new Date(System.currentTimeMillis()));

    Tread.sleep(pauseTime);

  }catch(Exception e){System.out.println(e);}

 }

}

static public void main(String srgs[]){

  S09_01_Thread tp1=new S09_01_Thread(1000,"Fast");

  tp1.start();

  S09_01_Thread tp2=new S09_01_Thread(3000,"Slow");

  tp2.start();

 }

}

(2) 运行下面的程序,理解用实现Runnable接口的方法实现多线程。

//S09_02_Thread.Java

Import java.util.*;

class S09_02_Thread implements Runnable {

  int pauseTime;

  String name;

  public S09_02_Thread(int x,String n){

    pauseTime=x;

    name=n;

}

public void run(){

  while(true){

  try{

  system.out.println(name+":"+new Date(System.currentTimeMillis()));

    Tread.sleep(pauseTime);

  }catch(Exception e){System.out.println(e);}

 }

}

static public void main(String srgs[]){

  Thread t1=new Thread(new S09_02_Thread(1000,"Fast"));

  t1.start();

  Thread t2=new Thread(new S09_02_Thread(3000,"Slow"));

  t2.start();

 }

}

(3) 创建简单的程序ThreeThread.java,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。

3.实验预习

(1) 将本章所学内容要点进行整理,熟练掌握线程的编程要领。

(2) 写出实验内容中第(3)题程序的源代码,作为预习报告。

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

实验6 图形用户界面编程

1.实验目的

    掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法。

2.实验内容

(1) 编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态条显示相应的时间信息。提示:使用showStatus(字符串)方法。

(2) 完成图6-1所示的GUI布局管理,不需要实现功能。

图6-1  要实现的GUI布局管理

(3) 试设计一窗口,内含一个按钮。开始运行时,按钮显示“Click Me”字样,当按钮按下时,按钮显示为“Click Me Again”字样,再按一次,则按钮显示“Click Me”字样,依次循环。

(4) 仿照Windows 2000/XP系统提供扫雷游戏编写一个类似功能和界面的扫雷程序。

(5) 编写一个简易文本编辑器,参考界面如图6-2所示。

图6-2  简易文本编辑器运行效果图

要求:包含基本的打开、保存、新建等功能。包含菜单,能够对文本的字体类型和颜色进行设置,力求界面美观。

3.实验预习

复习本章所学内容,思考以下问题:

(1) Java语言是跨平台的编程语言,那么图形用户界面如何做到跨平台?

(2) AWT有哪些组件和容器?它们各自的使用方法是什么?

(3) AWT的事件处理模型是什么?原理又如何?

(4) 什么是Swing?它和AWT比有什么优点?使用上有什么区别?

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

实验7 输入与输出

1.实验目的

(1) 掌握Java两种基本输入/输出流类的使用。

(2) 掌握Java文件类型的使用。

(3) 掌握文件的输入、输出方法。

2.实验内容

(1) 编写程序,实现从键盘输入字符串并在屏幕上输出。

(2) 利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特性。

(3) 编写程序,利用Java字符流文件输入/输出类,实现将源程序复制到另一个文件中。

(4)编写一个程序,比较两个文件的内容是否相同。

(5)编写一个程序,求2~200之间的素数,并将结果保存在文件prime.dat中。再从该文件中读取内容并在屏幕上显示出来。

3.实验预习

(1) 将本章所学内容要点进行整理,熟练掌握网络的编程要领。

(2) 写出实验内容中的源代码,作预习报告。   

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决方法。

(3) 实验体会。

实验8 网络编程

1.实验目的

(1)掌握TCP编程:Sodket的概念和编程方法。

(2)掌握URL类的使用:URL的概念和编程。

2.实验内容

(1)使用socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。

(2) 使用Socket编程,客户机发送数据到服务器,服务器将接收到的数据返回给客户机。

(3)设计图形用户界面的客户端程序和服务器端程序,实现客户端读取服务器段内容,要求支持客户端的多线程操作。

3.实验预习

(1) 将本章所学内容要点进行整理,熟练掌握网络的编程要领。

(2) 写出实验内容中第(2)、(3)题程序的源代码,作为预习报告。

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

实验9 数据库编程

1.实验目的

(1) 了解JDBC的概念和工作原理。

(2) 掌握使用JDBC实现简单的数据库管理。

2.实验内容

(1) 建立一个student表的结构,字段包括学号、姓名、性别、年龄、班级等。

(2) 配置ODBC数据源,假设在本例中,数据源的名字是“Vtest”。

(3) 编写程序,使其可以通过图形界面向“student”表中增加数据记录。

(4) 编写程序,在“student”表中分别查询所有记录以及满足条件“年龄>18”的记录。

3.实验预习

(1) 将本章所学内容要点进行整理,熟练掌握网络的编程要领。

(2) 写出实验内容中所用程序的源代码,作为预习报告。

4.实验步骤及结果

实验过程中,注意记录以下内容:

(1) 实验过程中实验步骤及其结果。

(2) 遇到的问题及解决办法。

(3) 实验体会。

更多相关推荐:
Java程序设计实验报告

学生实验报告册(理工类)课程名称:JAVA程序设计实验专业班级:M11计算机科学与技术II学生学号:学生姓名:所属院部:XX学院指导教师:20XX20XX学年第二学期金陵科技学院教务处制实验报告书写要求实验报告…

JAVA简单记事本程序设计实验报告(带源码)

JAVA程序设计实验报告院系专业班级11计算机01班姓名任课教师XXX实验题目JAVA简单记事本程序设计目录目录1一引言211课程设计目的212题目说明213开发工具介绍2二总体设计421系统开发平台422系统...

java程序设计课程--实验报告-实验09

Java开发技术实验报告实验序号实验09实验项目名称条件和循环语句二

Java程序设计实验报告 哈工大

Java语言基础实验指导报告书20xx20xx年秋季学期使用班级姓名计算机科学与技术学院实验一Java编程开发环境一实验学时1学时二实验目的1学习从网络下载JDK开发工具与帮助文档2学习安装JDK开发工具及其文...

Java程序设计实验报告20xx

Java程序设计实验指导报告书目录实验1熟悉Java开发环境2实验2简单的输入输出处理3实验3类的练习6实验4Java图形用户界面设计9实验5Java数据流21实验6Java多线程52实验7Java网络功能练习...

JAVA程序设计实验报告

JAVA程序设计实验报告姓名葛猛学号119xx4183班级软件工程112班指导教师柯栋梁20xx年12月24日实验1利用JAVA反射技术分析类结构1实验内容运行程序指定一个要分析的类名称如javalangDou...

简单java程序设计 实验报告

广州大学实验报告学院商学院专业、班级11电子商务姓名、学号课程名称Java语言程序设计项目名称简单java程序设计实验时间:20##年3月8日简单java程序设计_实验报告

Java程序设计实验报告20xx

Java程序设计实验指导报告书班级学号姓名哈尔滨工业大学威海计算机科学与技术学院Java程序设计实验报告目录实验1熟悉Java开发环境3实验2简单的输入输出处理5实验3类的练习8实验4Java图形用户界面设计1...

java数据库编程实验报告

大连民族学院计算机科学与工程学院实验报告实验题目课程名称Java语言实验类型演示性验证性操作性设计性综合性专业软件工程班级102学生姓名杨腾飞学号20xx082225实验日期20xx年12月10日实验地点多媒体...

Java程序设计实验报告20xx

数学与系统科学系实验报告20xx20xx学年第一学期实验一实验项目Java基本语法练习实验日期月日三实验预习实验目的1理解Java程序语法结构掌握顺序结构选择结构和循环结构语法的程序设计方法2通过以上内容掌握J...

《Java程序设计》实验报告 --实验3

Java程序设计实验报告实验31828384858687888

java程序设计课程--实验报告-实验11

Java开发技术实验报告实验序号实验11实验项目名称面向对象设计

java程序设计实验报告(36篇)