当前位置:文档之家› Java语言程序设计的课程设计项目——应用Java网络技术实现的即时通迅IM项目的完整实现实例(第5部分)

Java语言程序设计的课程设计项目——应用Java网络技术实现的即时通迅IM项目的完整实现实例(第5部分)

Java语言程序设计的课程设计项目——应用Java网络技术实现的即时通迅IM项目的完整实现实例(第5部分)
Java语言程序设计的课程设计项目——应用Java网络技术实现的即时通迅IM项目的完整实现实例(第5部分)

1.1Java IM5 1.1.1Socket

1SocketServerConnectionInterface

1SocketServerConnectionInterface

com.px1987.imsystem.socketserver.inter

2SocketServerConnectionInterface

package com.px1987.imsystem.socketserver.inter;

import https://www.doczj.com/doc/0d2292388.html,.ServerSocket;

import com.px1987.imsystem.exception.OASystemException;

public interface SocketServerConnectionInterface {

public abstract void initAllSocketConnectionParameter();

public abstract void createSocketServerConnection() throws OASystemException;

public abstract void closeSocketServer()throws OASystemException;

public ServerSocket getOneServerSocket();

public int getServerSocketListenerPort();

}

2Socket SocketServerConnectionInterface

1SocketServerConnectionInterface

SocketServerConnectionImple com.px1987.imsystem.socketserver.imple

2SocketServerConnectionImple

package com.px1987.imsystem.socketserver.imple;

import java.io.IOException;

import https://www.doczj.com/doc/0d2292388.html,.ServerSocket;

import com.px1987.imsystem.exception.OASystemException;

import com.px1987.imsystem.socketserver.inter.SocketServerConnectionInterface;

public class SocketServerConnectionImple implements SocketServerConnectionInterface {

private int serverSocketListenerPort; //Socket

private ServerSocket oneServerSocket=null;

public SocketServerConnectionImple() {

}

public void closeSocketServer() throws OASystemException{

try{

if(oneServerSocket!=null){

oneServerSocket.close();

oneServerSocket=null;

}

}

catch(IOException exception){

throw new OASystemException("Socket

");

}

}

public void createSocketServerConnection() throws OASystemException{ try{ //SocketServer

oneServerSocket=new ServerSocket(serverSocketListenerPort);

}

catch(IOException exception){

throw new OASystemException("Socket

");

}

}

public void initAllSocketConnectionParameter(){

serverSocketListenerPort=3721;

}

public ServerSocket getOneServerSocket() {

return oneServerSocket;

}

public int getServerSocketListenerPort() {

return serverSocketListenerPort;

}

}

5HandlerClientRequestAndResponseInterface

1HandlerClientRequestAndResponseInterface com.px1987.imsystem.socketserver.inter

2HandlerClientRequestAndResponseInterface

package com.px1987.imsystem.socketserver.inter;

import https://www.doczj.com/doc/0d2292388.html,.ServerSocket;

import com.px1987.imsystem.exception.OASystemException;

public interface HandlerClientRequestAndResponseInterface {

public abstract void listenClientConnectionRequests() throws OASystemException;

public abstract void cancelServerListenAction();

public void setOneServerSocket(ServerSocket oneServerSocket);

public void setServerSocketListenerPort(int serverSocketListenerPort);

}

6HandlerClientRequestAndResponseInterface 1HandlerClientRequestAndResponseInterface HandlerClientRequestAndResponseImple

com.px1987.imsystem.socketserver.imple

2

package com.px1987.imsystem.socketserver.imple;

import java.io.IOException;

import https://www.doczj.com/doc/0d2292388.html,.ServerSocket;

import https://www.doczj.com/doc/0d2292388.html,.Socket;

import com.px1987.imsystem.exception.OASystemException;

import com.px1987.imsystem.socketserver.inter.HandlerClientRequestAndResponseInterface; import com.px1987.imsystem.thread.HandlerClientRequestByMultiThread;

public class HandlerClientRequestAndResponseImple implements HandlerClientRequestAndResponseInterface {

private ServerSocket oneServerSocket=null;

private int serverSocketListenerPort; //Socket

boolean isServerListening=true;

public HandlerClientRequestAndResponseImple() {

}

public HandlerClientRequestAndResponseImple(ServerSocket oneServerSocket, int serverSocketListenerPort){

this.serverSocketListenerPort=serverSocketListenerPort;

}

public void cancelServerListenAction() {

isServerListening=false;

}

//

public void listenClientConnectionRequests() throws OASystemException{

System.out.println("Socket"+serverSocketListenerPort+"");

while(isServerListening){

Socket someOneClientSocket=null;

try {

//accept()

someOneClientSocket=oneServerSocket.accept();

}

catch(IOException exception){

throw new OASystemException(exception.getMessage());

}

Thread oneThreadForSomeOneClientRequest=

new Thread(new HandlerClientRequestByMultiThread(someOneClientSocket));

oneThreadForSomeOneClientRequest.start();

}

}

public ServerSocket getOneServerSocket() {

return oneServerSocket;

}

public void setOneServerSocket(ServerSocket oneServerSocket) {

}

public int getServerSocketListenerPort() {

return serverSocketListenerPort;

}

public void setServerSocketListenerPort(int serverSocketListenerPort) {

this.serverSocketListenerPort = serverSocketListenerPort;

}

}

7Socket HandlerClientRequestByMultiThread

1HandlerClientRequestByMultiThread

Runnable

com.px1987.imsystem.thread

3HandlerClientRequestByMultiThread

package com.px1987.imsystem.thread;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintStream;

import https://www.doczj.com/doc/0d2292388.html,.Socket;

import com.px1987.imsystem.exception.OASystemException;

//public class HandlerClientRequestByMultiThread extends Thread

public class HandlerClientRequestByMultiThread implements Runnable{ Socket someOneClientSocket=null;

// DataInputStream socketInputStreamFromClient =null;

BufferedReader socketInputStreamFromClient =null;

PrintStream socketOutputStreamToClient =null;

public HandlerClientRequestByMultiThread() {

super();

}

public HandlerClientRequestByMultiThread(Socket someOneClientSocket) { this.someOneClientSocket=someOneClientSocket;

}

public void run(){

try{

getServerInputOutputSocketStream();

handlerClientRequestAndReturnResult();

}

catch(OASystemException exception){

System.out.println(exception.getMessage());

}

finally{

try {

closeAllServerStreamObject();

} catch (OASystemException exception) {

System.out.println(exception.getMessage());

}

}

}

public void getServerInputOutputSocketStream()throws OASystemException{//3 try {

socketInputStreamFromClient =

new BufferedReader(new InputStreamReader(someOneClientSocket.getInputStream()));

} catch (IOException e) {

throw new OASystemException("");

}

try {

socketOutputStreamToClient =new PrintStream(someOneClientSocket.getOutputStream());

/*

socketOutputStreamToClient =new PrintWriter(someOneClientSocket.getOutputStream(),true);

*/

} catch (IOException e) {

System.out.println("");

}

}

public void handlerClientRequestAndReturnResult() throws OASystemException{ String clientRequestText=null;

while(true){

try {

if((clientRequestText=socketInputStreamFromClient .readLine())!=null){

socketOutputStreamToClient .println("

"+clientRequestText);

}

else

break;

} catch (IOException e) {

throw new OASystemException("");

}

}

}

public void closeAllServerStreamObject() throws OASystemException{

socketOutputStreamToClient .close(); //4

try {

socketInputStreamFromClient .close();

} catch (IOException e) {

throw new OASystemException("Socket

");

}

try {

someOneClientSocket.close();

} catch (IOException e) {

throw new OASystemException("Socket

");

}

}

}

4IO

1)PrintStream PrintWriter

2)DataInputStream BufferedReader

8IMSystemSocketServerApp----IMSystemSocketServerApp

package com.px1987.imsystem.socketserver;

import com.px1987.imsystem.exception.OASystemException;

import com.px1987.imsystem.socketserver.imple.HandlerClientRequestAndResponseImple; import com.px1987.imsystem.socketserver.imple.SocketServerConnectionImple;

import com.px1987.imsystem.socketserver.inter.HandlerClientRequestAndResponseInterface; import com.px1987.imsystem.socketserver.inter.SocketServerConnectionInterface;

public class IMSystemSocketServerApp {

public static void main(String args[]) {

SocketServerConnectionInterface oneSocketServerConnectionImpleBean=null;

HandlerClientRequestAndResponseInterface oneHandlerClientRequestAndResponseImpleBean=null;

oneSocketServerConnectionImpleBean=new SocketServerConnectionImple();

try{ oneSocketServerConnectionImpleBean.initAllSocketConnectionParameter();

oneSocketServerConnectionImpleBean.createSocketServerConnection();

oneHandlerClientRequestAndResponseImpleBean=

new

HandlerClientRequestAndResponseImple(oneSocketServerConnectionImpleBean.getOneServerSoc ket(),

oneSocketServerConnectionImpleBean.getServerSocketListenerPort()); oneHandlerClientRequestAndResponseImpleBean.listenClientConnectionRequests();

}

catch (OASystemException exception) {

System.out.println(exception.getMessage());

}

finally{

try {

oneSocketServerConnectionImpleBean.closeSocketServer();

} catch (OASystemException exception) {

System.out.println(exception.getMessage());

}

}

}

}

IMSystemSocketServerApp"" ""MVC

9

1

2""

04747java语言程序设计(一)20120年01月试卷

全国2012年1月高等教育自学考试 Java语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共l0分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下面供选字符序列中,不属于 ...Java语言关键字的是( ) A.inner B.throw C.false D.throws 2.表达式“-1>>>1”的十进制值是( ) A.-2 B.231-1 C.-(231-1) D.232-1 3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.子类必须实现父类未实现的方法 B.没有具体实现代码 C.必须要有实例 D.不能被继承 4.表达式"java程序设计".1ength()的值是( ) A. 0 B.12 C. 8 D.13 5.以下关于BorderLayout布局的叙述中,不正确 ...的是( ) A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域 C.是框架窗口的默认布局 D.一个位置可直接放多个组件 6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( ) A.accept()和getSelectedFile() B.accept()和getDescription() C.accept()和setDescription() D.setDescription()和getDescription() 7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( ) A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 浙04747# Java语言程序设计(一)试卷第1页(共12页)

Java程序设计课程设计学生考勤系统

信息与电子工程学院 课程设计报告 Java程序设计课程设计课程名称: 名:姓 学号: 级:班 指导老师:完成时间:月6年2016 学生考勤系统 问题描述:以班为单位,可以以日期为标识记录每个学生的考勤情况(正常、旷课、请假、迟到、. 早退)、可以查看某个学生的考勤情况、可以查看全班的考勤情况 0.5需求分析(标题,黑体,小四,段前段后行)1.(1)用户需求描述:

学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。 在线请假中,学生可以随时查看请假的进展情况。另外学生还可以修改本人的密码。 教师用户:任课老师对本系统的主要需求是查看班级信息,查看学生信息。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。另外,教师还可以修改自己的密码。 (2)系统功能划分: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这两大模块。 在线请假模块: 该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。 考勤管理模块: 该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E表格,最后方便统计整个学期本课程所有学生的考勤情况。 2.总体设计 ; 功能结构图 : 图ER : 数据库设计数据库需求分析1 学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教 学生表:学生流水号、师用户两类用户的功能模块。然后,据此分析出数据需求。 请假表:请假开始时间、请学生学号、学生名字、性别、宿舍号、联系方式、密码。、ID假结

Java程序设计实例教程考试题

Java程序设计练习题 一、选择题 1、为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件( A ) A)分开B)结合 C)联系D)融合 2、Java语言与C++语言相比,最突出的特点是( C ) A)面向对象B)高性能 C)跨平台D)有类库 3、下列Java源程序结构中前三种语句的次序,正确的是(D) A)import,package,public class B)import必为首,其他不限 C)public class,package,import D),import,public class 4、在JDK目录中,Java程序运行环境的根目录是( A ) A)bin B)demo C)lib D)jre 5、下列运算符中属于关系运算符的是(A ) A)== B).= C)+= D)-= 6、下列布尔变量定义中,正确并且规范的是( B ) A)BOOLEAN canceled=false; B)boolean canceled=false; C)boolean CANCELED=false; D)boolean canceled=FALSE; 7、下列关键字中可以表示常量的是( A ) A)final B)default C)private D)transient 8、下列运算符中,优先级最高的是( A ) A)++ B)+ C)* D)> 9、Java中的基本数据类型int在不同的操作系统平台的字长是( B ) A)不同的B)32位 C)64位D)16位

10、给一个short类型变量赋值的范围是( C ) A)-128 至 +127 B)-2147483648至 +2147483647 C)-32768至 +32767 D)-1000至 +1000 11、下列运算中属于跳转语句的是( D ) A)try B)catch C)finally D)break 12、switch语句中表达式(expression)的值不允许用的类型是( C ) A)byte B)int C)boolean D)char 13、下列语句中,可以作为无限循环语句的是( A ) A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false) 14、下列语句中执行跳转功能的语句是( C ) A)for语句B)while语句 C)continue语句D)switch语句 15、下列表达式中,类型可以作为int型的是( C ) A)“abc”+”efg”B)“abc”+’efg’ C)‘a’+’b’D)3+”4” 17、数组中各个元素的数据类型是( A ) A)相同的B)不同的 C)部分相同的D)任意的 18、在Java语言中,被成为内存分配的运算符是( A ) A)new B)instance of C)[] D)() 19、接口中,除了抽象方法之外,还可以含有( B ) A)变量B)常量 C)成员方法D)构造方法 20、下列能表示字符串s1长度的是( A ) A)s1.length()B)s1.length C)s1.size D)s1.size() 21、StringBuffer类字符串对象的长度是( C ) A)固定B)必须小于16个字符 C)可变D)必须大于16个字符 22、构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。( A ) A)类名B)对象名 C)包名D)变量名 23、子类继承了父类的方法和状态,在子类中可以进行的操作是( D ) A)更换父类方法B)减少父类方法 C)减少父类变量D)添加方法 24、String、StingBuffer都是______类,都不能被继承。( C )

Java语言程序设计课程设计指导书

《JAVA程序设计基础课程设计》指导书 课程名称:JAVA程序设计基础课程设计 设计题目:班级通信录电子万年历简单计算器聊天小程序 图书管理系统学生成绩管理系统英汉电子小字典 使用班级:通信151-2 指导教师:宫淑兰、张明玉 一、课程设计的目的和要求 1、通过面向对象程序设计课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出来,并掌握继承与派生,基类、虚函数和多态性的概念。 2、通过这次课程设计掌握面向对象的编程思想,为后续课程打下基础。 3、培养学生实际操作能力和团结协作能力,为以后的工作打下坚实的基础。 二、课程设计内容 运用Java语言描述各种类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。 不得从网上下载或者抄袭别人的资料,一经发现,课程设计不及格。 三、课程设计进度表 时间为一周,大致划分如下: 第一天布置任务及分组,总体需求分析,编写相关文档,设计说明,查找资料第二天基类、各派生类设计及代码实现,各模块的编程设计 第三天各模块的调试与修改,系统组装,程序总调试,修改 第四天~第五天撰写课程设计说明书,课程设计检查与答辩 四、课程设计步骤与方法 1、需求分析:为提出的问题找出解决的办法和思路。用自顶向下的方法创建主程序和子程序,控制对象间的相互作用。 2、根据需求,设计系统功能模块,并设计相应的类结构。 3、根据基本思路,确定输入和输出,设计程序的算法。

Java语言程序设计基础教程习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章 Java程序设计概述 练习思考题 1、 Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、 Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、 public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

Java语言程序设计课后习题答案

Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法它有那些基本特征 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用 答:类成员的访问控制符有 public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作; (6)构造方法不能在程序中显式的调用; (7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。 9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法 答: 用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。 10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean). 声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient的例子: Atient april=new Patient(); (“zhangli”) (‘f’);; (330; ; (true); 那么:”+()); ”+()); ”+()); (“weught: ”+());\ ”+()); 声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。 答: public class Patient { private String name; private char sex; private int age; private float weight; private boolean allergies; public void setname(String a) { name=a; } public void setsex(char b) { sex=b; }

JAVA程序设计课程设计指导书

JA V A程序设计课程设计指导书 一、课程设计的目的与要求: 1.掌握JA V A语言中面向对象的概念,并能在程序中熟练运用。 2.了解面向对象程序设计(JA V A)的基本概念以及运用面向对象技术进行程序设计的基本思 想。 3.能正确编写和调试JA V A程序。 4.了解在JA V A环境下进行程序设计的基本思想和方法。 二、设计内容 2.1项目一:项目描述与设计要点(数据结构算法要求较高) 1.设计一个连连看的游戏程序。 2.在JAVA环境下,将上述程序使用GUI、数据结构等内容完成 3.设计思路: (1)界面设计 1)初始测试界面可以考虑使用简单的按钮来代表连连看游戏中的图标。 2)布局可以考虑使用GRID方式。 3)设计菜单选择连连看难度等内容,具体可参照QQ连连看,也可自定义。 4)考虑完善界面,例如图片、声音、动画等。 (2)代码设计 1)本设计的核心为练练看算法的设计,可以考虑数据结构中的图的遍历章节,合理设计 算法,将界面中各按钮的分布映射入数学矩阵进行路径规划。(可以上网搜索相关算法)。 2)完成连连看游戏的图形、算法等代码的设计。 3)有能力的同学可以考虑网络对战,设计SOCKET服务器,使得CLIENT之间通信是否已完 成游戏。 4.实验步骤(包括操作方法、数据处理) (1)界面设计 (2)算法设计 (3)代码设计 (4)网络通信设计 2.2项目二:项目描述与设计要点(计算机图形、网络编程要求较高) 1.一个类似于电子白板的“你画我猜”游戏设计(若不知道此游戏,请上网查找),游戏要求 一方绘图后通过网络将绘图内容显示于另外一方界面中,由另外一方猜测绘制的内容,并通过键盘输入告知绘图方。 2.在JAVA环境下,将上述内容设计成为应用程序。

Java程序设计实用教程_习题解答

习题 1 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件 2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。 3)使用java解释器(java.exe)来解释执行字节码文件。 3.D:\JDK 1) 设置path 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。 2) 设置classpath 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。 4.(B)javac 5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class” 6.Java应用程序主类的main申明(D)public static void main(String args[])

《JAVA语言程序设计》期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案3 一、单项选择题 1、如下哪个是Java中的标识符() A、public B、super C、3number D、width 2、如下哪个是Java中的标识符( ) A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( ) A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字() A、name B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( ) int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count); A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是() A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、p.add(b); B、p.add(b,"North"); C、p.add(b,"South"); D、b.add(p,"North"); 9、声明并创建一个按钮对象b,应该使用的语句是() A、Button b=new Button(); B、button b=new button();

java程序设计课程设计

武汉科技大学城市学院 课程设计报告 课程设计名称JAVA程序设计课程设计 题目ACM 院系信息工程学部 专业软件工程 班级15级3班 姓名洪汉山 指导教师于海平 2017 年 6 月23 日

课程设计评分表

JA V A编程课程设计指导书 学时:1周,学分:1 1.课程设计目的:JAVA编程课程设计属于软件开发类课程设计。该课程设计培养学生熟练应用当前主流的JAVA软件开发语言,检验软件的设计、编码与测试,具备较强的JAVA语言软件开发能力。 2.课程设计方式: (1)JAVA编程课程设计方式采取ACM测试的方式,利用所学的面向对象程序设计(JAVA)知识,培养学生具有分析应用问题的能力,能够独立完成应用程序的编制与调试工作。 (3)每个同学必须完成8-12道题,每题写出解题报告,解题报告内容:○1.题目标题○2.题目描述○3.解题思路○4.源码○5.小结 3.课程设计平台: eclipse或Myeclipse 4.课程设计考核方式 (1)学生独立提交软件设计作品和“课程设计报告书”,指导教师根据学生组提交的软件设计作品和“课程设计报告书”的质量,为学生组评定“优”“良”“中”“及格”或“不及格”; (2)根据各组学生所选题目的难易程度以及验收结果,为学生评定“优”“良”“中”“及格”或“不及格”。 “课程设计报告书”包括:课程设计项目名称,课程设计任务, 课程设计任务(功能)说明及功能模块图,数据库设计,各模块功能说明,使用的算法描述(如果需使用算法),各模块界面设计,各模块中关键代码段功能说明与代码行注释,测试说明,参考文献等。 5.参考文献 [1] 张思民. Java语言程序设计(第2版)[M].北京:清华大学出版社,2012.1 [2] 姜华. Java项目实战教程[M]. 北京:清华大学出版社,2012.9 [3] 陈喧. Java程序设计教程[M]. 北京:清华大学出版社,2011.5 [4] [美]Echel,B .Java编程思想(第四版)[M].北京:机械工业出版社,2007 [5] Michael Main. 数据结构:Java语言描述(第二版)(国外经典计算机科学教材)[M]. 北京:中国电力出版社,2007

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

java语言程序设计课后习题答案

习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; =str2); ; public class Exercise51{ public static void main(String[] args) throws IOException{ "请输入一个整数:"); InputStreamReader isStream=new InputStreamReader; BufferedReader bfReader=new BufferedReader(isStream); String input=(); int length=()-1; int n=new Integer(input).intValue(); while(length>=0){ int divisor=(int) (10,length); length=length-1; int output=n/divisor; n=n%divisor; ","); } } } 法二:(建议使用) public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; thousand=n/1000%10; hundred=n/100%10; decimal=n/10%10; unit=n%10; "1678包含的数字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } ;

《Java语言程序设计(一)》(课程代码04747)

《Java语言程序设计(一)》(课程代码04747) 第一大题:单项选择题 1、下列字符组合不能作为Java整型常量的是( ) ? A.078 ? B.0x3ACB ? C.5000 ? D.0x3ABC 参考答案:A 2、以下程序代码的输出结果是( ) int x = 10; while (x > 7) { System.out.print("*"); x--;} ? A.** ? B.*** ? C.* ? D.**** 参考答案:B 3、设类U声明,及对象u和v的定义如下: class U{ int x, int y; U(int a, int b){x= a; y = b;} void copy(U a){ x = a.x; y = a.y;} } U u = new U(1, 2), v = new U(2, 3); 在以下供选择的代码中,可能引起系统回收内存的是( ) ? A.u.x=v.y;u.y=v.x

? B.u=v ? C.u.copy ? D.v.copy(u) 参考答案:B 4、设有以下代码: String s l="123"; String s2="123"; String s3=new String("123"); 则表达式s1==s2和s1==s3的值分别是( ) ? A.true,true ? B.false,false ? C.true,false ? D.false,true 参考答案:C 5、以下关于AWT与Swing之间关系的叙述,正确的是( ) ? A.Swing是AWT的提高和扩展 ? B.在写GUI程序时,AWT和Swing不能同时使用? C.AWT和Swing在不同的平台上都有相同的表示? D.AWT中的类是从Swing继承的 参考答案:A 6、在以下Swing组件中,能为它指定布局管理器的是( ) ? A.JScrollBar对象 ? B.JMenuBar对象 ? C.JComboBox对象

Java程序设计课程设计学生考勤系统

信息与电子工程学院课程设计报告 课程名称:Java程序设计课程设计姓名: 学号: 班级: 指导老师: 完成时间:2016年6月

学生考勤系统 问题描述: 以班为单位,可以以日期为标识记录每个学生的考勤情况(正常、旷课、请假、迟到、早退)、可以查看某个学生的考勤情况、可以查看全班的考勤情况. 1.需求分析(标题,黑体,小四,段前段后0.5行) (1)用户需求描述: 学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。 在线请假中,学生可以随时查看请假的进展情况。另外学生还可以修改本人的密码。 教师用户:任课老师对本系统的主要需求是查看班级信息,查看学生信息。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。另外,教师还可以修改自己的密码。 (2)系统功能划分: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这两大模块。 在线请假模块: 该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。 考勤管理模块: 该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E 表格,最后方便统计整个学期本课程所有学生的考勤情况。 2.总体设计 功能结构图;

ER图: 数据库设计: 1 数据库需求分析 学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教师用户两类用户的功能模块。然后,据此分析出数据需求。学生表:学生流水号、学生学号、学生名字、性别、宿舍号、联系方式、密码。请假表:请假开始时间、请假结束时间、请假原因、请假天数、审批时间。考勤表:考勤流水号、考勤的学生ID、考勤的课程ID、考勤时间、考勤课次、考勤结果。 3.主要功能的实现 (1)设计的思路: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这三大模块。 在线请假模块: 该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。 考勤管理模块: 该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E 表格,最后方便统计整个学期本课程所有学生的考勤情况。 用户信息修改模块:

Java语言程序设计 第2版 (郑莉)课后习题答案

Java语言程序设计第2版(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系? 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象! 3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法?它有那些基本特征? 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种?具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用? 答:类成员的访问控制符有public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以 被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点? 答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有); (3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作;

《Java程序设计》课程设计报告 (1)

河南工程学院计算机学院课程设计报告书 学号:201312211115 姓名:陈晏猛 学院:计算机学院 专业班级:软件工程1341 专业课程:Java程序设计指导教师:汪伟 2014 年12 月27 日

目录 第1章计算器的设计与实现 (1) 1.1设计目的..................... ..... ... (2) 1.2系统实现思路...................... ... (3) 1.3系统详细设计.............. ..... . (4) 1.4系统调试运行................ ..... .. (7) 第2章2048的设计与实现 (1) 1.1设计目的..................... ..... ... (2) 1.2系统实现思路...................... ... (3) 1.3系统详细设计.............. ..... . (4) 1.4系统调试运行................ ..... .. (7) 第3章课程设计体会 (8) 参考文献................. .... .... (9) 附录................... .... .... .... . (10)

第1章计算器的设计与实现 1.1 设计目的 本课程设计的目的就是通过一次集中的强化训练,使学生能巩固自己的学识,补充未学的但有必要的内容。进行课程设计的目的在于加深对程序设计基础中理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计的能力。同时,在程序设计方法及上机操作方面受到比较系统严格的训练,培养软件工作所需要的动手能力。 (1)使学生更深入的理解和掌握课程中有关基本概念,程序设计的思想和方法。 (2)培养学生综合运用所学知识独立完成课题的能力。 (3)培养学生勇于探索,严谨推理,实事求是,有错必改,用实践来验证理论,全方位考虑问题等科学技术人员应具有的素质。 (4)提高学生对工作认真负责,一丝不苟,对同学团结友爱,协作攻关的基本素质。 (5)培养学生从资料文献,科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 (6)对学生掌握知识的深度,运用理论去处理问题的能力,实验能力,课程设计的能力,书面及口头表达能力进行考核。

自考Java语言程序设计一试题及答案解析

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5 4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展 B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( ) 方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并

JAVA语言程序设计课程设计报告模板及范文

设计题目:仿Windows画笔系统设计专业:计算机科学与技术 班级: 学号: 姓名: 2015 年7月

中文摘要 摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。JAVA不仅可以用来开发大型的应用程序。而且特别适合Internet的应用开发。JAVA确实具备“一次写成,处处运行”的特点,JAVA以成为网络时代最重要的编程语言之一。本报告中介绍了用JAVA语言实现画笔系统的全部过程。 本次课程设计是配合JAVA程序设计课程,帮助我们深入学习掌握JAVA语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。本课程设计尝试使用一些较生动的示例和设计项目,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。 本次课程设计主要是用JAVA实现画笔系统,其系统主要完成以下功能:设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。过程中能够修改该画笔的大小以及颜色。该画图程序还需具有橡皮擦功能以及清空整个画面的功能 关键词:画笔系统,JA V A

目录 中文摘要 (2) 目录 (3) 1.绪论 (4) 2. 开发环境介绍 (4) 3.需求分析 (5) 3.1总体目标 (5) 3.2要实现的功能 (6) 4.概要设计 (6) 4.1设计准备 (6) 4.2需用到的类 (7) 5.详细设计 (7) 5.1类的设计 (7) 5.2类的方法介绍 (8) 6.测试数据及运行结果 (10) 7.总结 (11) 8.参考文献 (11) 9.源程序 (12)

相关主题
文本预览
相关文档 最新文档