JAVA语言课程设计:通讯录管理系统

需积分: 17 12 下载量 122 浏览量 更新于2024-08-01 收藏 225KB DOC 举报
"JAVA语言课程设计,涉及通讯录管理系统的实现,使用数据库存储联系人信息,具备录入、修改、删除、查询、备份和恢复功能,并有登录验证以保证数据安全。设计目标是让学生深入理解JAVA编程,包括类和对象、GUI、Socket编程和数据库应用。课程设计包括理论设计、代码实现和论文编写,评分标准涵盖考勤、理论理解、动手能力和答辩表现。参考文献包括《Java语言实用教程》和《实用Java语言程序设计教程习题解答与上机实践》等。设计进度分为准备、模块设计分析、代码编写调试和论文撰写四个阶段。具体题目为电话号码管理程序,要求实现数据存储、基本操作和扩展功能。" 在JAVA语言课程设计中,学生将深入学习和实践多种核心概念和技术。首先,他们需要熟悉JAVA开发环境,这是所有JAVA编程的基础,包括安装JDK、设置环境变量以及使用IDE如Eclipse或IntelliJ IDEA。掌握JAVA基本编程技术和方法,包括变量、控制流、异常处理和面向对象编程,特别是类和对象的创建和使用。 其次,GUI图形界面编程技术是实现用户交互的关键,学生需要学习Swing或JavaFX库来创建窗口、按钮、文本框等组件,构建直观的用户界面。这包括事件监听和处理,以响应用户的操作。 再者,Socket编程是实现网络通信的基础,学生将学习如何创建服务器和客户端,实现数据的发送和接收,为构建简单的网络应用程序打下基础。例如,可以设计一个简单的聊天应用,通过Socket连接进行通信。 数据库应用程序开发技术也是课程的重点,学生需要学习如何使用JDBC连接数据库,如MS-SQL或ACCESS,执行SQL语句进行数据的增删改查。此外,还需要了解数据库备份和恢复的机制,以确保数据的安全性。 课程设计还包括理论设计部分,即撰写课程设计论文,要求条理清晰地阐述设计思路、过程和结果。设计报告应包含目录、引言、正文、设计总结、参考文献和附录。这有助于提升学生的逻辑思维和写作能力。 整个课程设计的评价不仅关注学生的编程技能,还重视他们的学习态度和团队合作精神。评分标准涉及出勤、理论理解、程序设计和论文答辩,旨在全面评估学生的学习成果。 最后,电话号码管理程序设计作为具体项目,需要学生结合所学知识实现一个功能完善的通讯录系统。除了基本的联系人信息管理,还要求增加图片关联和备注功能,提高系统的实用性。 这个JAVA语言课程设计是一个综合性的实践项目,旨在通过实际操作,让学生巩固理论知识,提升编程技能,增强问题解决能力,并锻炼学术写作技巧。
2013-11-10 上传
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>html5 游戏</title> <script language="javascript" type="text/javascript"> //定义键盘值 var KEY = { D: 68, W: 87, A: 65, S:83, RIGHT:39, UP:38, LEFT:37, DOWN:40, QUICK:17}; //定义输入对象 var input = { right : false, up : false, left : false, down : false, quick : false }; //小球对象 var player = { speed : 1, qspeed : 2, left : 0, top : 0, xleft : 0, dleft : 0, xtop : 0, dtop : 0, r : 5 } player.init = function(){ this.xleft = this.r; this.xtop = this.r; this.dleft = $("myCanvas").width-this.r; this.dtop = $("myCanvas").height-this.r; this.left = $("myCanvas").width/2; this.top = $("myCanvas").height/2; } player.getSpeed = function(){ return (input.quick?this.qspeed:this.speed); } player.update = function(){ if (input.right) player.left+=player.getSpeed(); if (input.left) player.left-=player.getSpeed(); if (input.down) player.top+=player.getSpeed(); if (input.up) player.top-=player.getSpeed(); if (player.left>player.dleft) player.left=player.dleft; if (player.left<player.xleft) player.left=player.xleft; if (player.top>player.dtop) player.top=player.dtop; if (player.top<player.xtop) player.top=player.xtop; var c=$("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.beginPath(); cxt.arc(player.left,player.top,player.r,0,Math.PI * 2,true); cxt.closePath(); cxt.fill(); } //星星 var star = function(){ this.x = 0; this.y = 0; this.r = 5; this.c = "#00FF00"; this.ax = 0; this.ay = 0; this.a = 0; this.rAngle = 0; this.speed = 0; this.isAddX = true; this.isAddY = true; this.init = function(){ var lon = ($("myCanvas").width+$("myCanvas").height)*2; var rlon = Math.floor(Math.random()*(lon+1)); this.rAngle = Math.floor(Math.random()*91); if(rlon<$("myCanvas").width){//上 this.x = rlon; this.y = 0; }else if(rlon<$("myCanvas").width+$("myCanvas").height){//右 this.x = $("myCanvas").width; this.y = rlon-$("myCanvas").width; }else if(rlon<$("myCanvas").width*2+$("myCanvas").height){//下 this.x = $("myCanvas").width - (rlon-$("myCanvas").width-$("myCanvas").height); this.y = $("myCanvas").height; }else{//左 this.x = 0; this.y = $("myCanvas").height-(rlon-$("myCanvas").width*2-$("myCanvas").height); } if(rlon<$("myCanvas").width/2 || rlon>$("myCanvas").width*2+$("myCanvas").height+$("myCanvas").height/2){//左上 this.isAddX = true; this.isAddY = true; }else if(rlon<$("myCanvas").width+$("myCanvas").height/2){//右上 this.isAddX = false; this.isAddY = true; }else if(rlon<$("myCanvas").width+$("myCanvas").height+$("myCanvas").width/2){//右下 this.isAddX = false; this.isAddY = false; }else{//左下 this.isAddX = true; this.sAddY = false; } this.ax = Math.sin(Math.PI/180*this.rAngle)*star.speed; this.ax = this.isAddX?this.ax:0-this.ax; this.ay = Math.cos(Math.PI/180*this.rAngle)*star.speed; this.ay = this.isAddY?this.ay:0-this.ay; } this.update = function(){//更新 this.x=this.x+this.ax; this.y=this.y+this.ay; if((this.isAddX && this.x>$("myCanvas").width) || (!this.isAddX && this.x<0) || (this.isAddY && this.y>$("myCanvas").height) || (!this.isAddY && this.y<0)){ this.init(); return; } //$("message").innerHTML = $("message").innerHTML+"
x="+this.x+";y="+this.y; //$("message").innerHTML = $("message").innerHTML+"
cxt.arc("+Math.round(this.x)+","+Math.round(this.y)+","+this.r+",0,Math.PI * 2,true)"; var c=$("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle=this.c; cxt.beginPath(); cxt.arc(this.x,this.y,this.r,0,Math.PI * 2,true); cxt.closePath(); cxt.fill(); } this.iscollide = function(){//判断是否被撞到 var x = Math.abs(player.left-this.x); var y = Math.abs(player.top-this.y); var R = this.r+player.r; if(R*R < x*x+y*y){ return true; } return false; } } star.speed = 1; var press = function(event){ var code = event.keyCode || window.event; switch(code) { case KEY.RIGHT: case KEY.D: input.right = true; break; case KEY.UP: case KEY.W: input.up = true; break; case KEY.LEFT: case KEY.A: input.left = true; break; case KEY.DOWN: case KEY.S: input.down = true; break; case KEY.QUICK: input.quick = true; break; } } var release = function(event) { var code = event.keyCode || window.event; switch(code) { case KEY.RIGHT: case KEY.D: input.right = false; break; case KEY.UP: case KEY.W: input.up = false; break; case KEY.LEFT: case KEY.A: input.left = false; break; case KEY.DOWN: case KEY.S: input.down = false; break; case KEY.QUICK: input.quick = false; break; } } var stars = new Array(); var myInter; var begin; var time = 0; //加载事件 var load = function(){ player.init(); for(i=0;i<20;i++){ var s = new star(); s.init(); stars[i] = s; } begin = new Date(); myInter = setInterval(function(){update();},20); } var $ = function(id){ return document.getElementById(id); } //更新方法 var update = function(){ var c=$("myCanvas"); c.width = c.width; // Clears the canvas player.update(); for(i=0;i<stars.length;i++){ stars[i].update(); } updatetime(); isDead(); } //更新时间 var updatetime = function(){ var end = new Date(); var time = Math.round((end-begin)/1000); star.speed = Math.round(time/10); $("time").innerHTML = time; } //判断是否死了 var isDead = function(){ for(i=0;i<stars.length;i++){ var flag = stars[i].iscollide(); if(flag==false){ clearInterval(myInter); alert("失败了"); return; } } } </script> </head> <body onLoad="load();" onkeydown="press(event);" onkeyup="release(event);" > <canvas id="myCanvas" width="400" height="400" style=" border:2px solid #F00; left:30%; position:absolute; ">

换个好浏览器吧,ie太垃圾了

</canvas>
兼容 wasd 和 ↑←↓→
ctrl 键加速
</body> </html>