淮 海 工 学 院 计算机工程学院
课程设计报告
设计名称: 面向对象课程设计 选题名称: 图像浏览器的设计与实现 姓 名: 学 号
专业班级: 网络工程122班 系 (院): 计算机工程学院 设计时间:设计地点: 软件实验室、教室
面向对象课程设计报告 第 2 页,共 16 页
面向对象课程设计报告 第 3 页,共 16 页
面向对象课程设计报告 第 4 页,共 16 页
面向对象课程设计报告 第 5 页,共 16 页
面向对象课程设计报告 第 6 页,共 16 页
面向对象课程设计报告 第 7 页,共 16 页
面向对象课程设计报告 第 8 页,共 16 页
面向对象课程设计报告 第 9 页,共 16 页
面向对象课程设计报告 第 10 页,共 16 页
面向对象课程设计报告 第 11 页,共 16 页
面向对象课程设计报告 第 12 页,共 16 页
面向对象课程设计报告 第 13 页,共 16 页
面向对象课程设计报告 第 14 页,共 16 页
面向对象课程设计报告 第 15 页,共 16 页
面向对象课程设计报告 第 16 页,共 16 页
第二篇:Java课程设计报告【模板】
课程设计报告
设计题目:专 业 计算机科学与技术
班 级 101
学 号 201016021127
学生姓名 李贵云
指导教师 布瑞琴
起至时间 12.16~12.23
教师评分
20xx年 月 日
目 录
1.概述
1.1目的
这学期我们学习了Java语言,Java语言是面向对象的开发方法,是当今世界最流行的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点。它不仅具有贴近自然的语言,而且有利于软件的维护和继承。是很多程序开发人员的第一选择。
为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。让学生自己动手动脑,将书本上的知识运用到实践当中去,使知识能更好的融会贯通。
为了达到这个目的,我们需要自己动手做一个Java的课程设计,在这个课程设计里需要根据我们手中现有的软件与知识基础,独立的将它完成,只有这样,我们才能把理论变成实践,将知识真正的做到学以致用。
1.2课程设计的组成部分
课程设计报告的构成包括:(1)前置部分:封面、目录页;(2)主体部分:引言(设计目的、任务与要求等)、正文、结果、项目开发中遇到的困难及解决、体会、参考文献。
2.李贵云设计的内容
2.1设计题目
题目四:ATM柜员机模拟程序:对某帐号进行查询、取款、存款、查询余额。
2.2具体任务
类的创建,构造成员变量和成员方法,生成对象,方法的调用等。
2.3软件环境
JCreator Pro v4.0
2.4流程图
2.5程序源代码
import java.io.*;
class Account {
private String code =null;
private String name =null;
private String password=null;
private double money =0.0;
public Account(String code,String name,String password,double money)
{
this.code=code;
this.name=name;
this.password=password;
this.money=money;
}
protected String get_Code() {
return code;
}
protected String get_Name() {
return name;
}
protected String get_Password() {
return password;
}
public double get_Money() {
return money;
}
protected void set_Balance(double mon) { money -= mon;
}
}
class ATM {
Account act;
public ATM() {
act=new Account("000000","Devil","123456",50000); }
protected void Welcome()
{
String str="---------------------------------"; System.out.print(str+"\n"+
"欢迎使用Angel模拟自动取款机程序.\n"+str+"\n"); System.out.print(" 1.>取款."+"\n"+
" 2.>查询信息."+"\n"+
" 3.>密码设置."+"\n"+
" 4.>退出系统."+"\n");
}
protected void Load_Sys() throws Exception
{
String card,pwd;
int counter=0;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do {
System.out.println("请输入您的信用卡号:");
card=br.readLine();
System.out.println("请输入您的密码:");
pwd=br.readLine();
if(!isRight(card,pwd))
{
System.out.println("您的卡号或密码输入有误.");
counter++;
}
else
SysOpter();
}while(counter<3);
Lock_Sys();
}
protected void SysOpter() throws Exception
{
int num;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请选择您要操作的项目(1-4):");
num=br.read();
switch(num) {
case 49: BetBalance(); break;
case 50: Inqu_Info(); break;
case 51: Set_Password(); break;
case 52: Exit_Sys(); break;
}
System.exit(1);
}
protected void Inqu_Info() {
System.out.print("---------------------\n"+
act.get_Code()+"\n"+
act.get_Name()+"\n"+
act.get_Money()+"\n"+
"-----------------------");
}
public void BetBalance() throws Exception
{
String str=null,str1;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do {
System.out.println("请输入您要取的数目:");
str=br.readLine();
str1=String.valueOf(act.get_Money());
if(str.compareTo(str1)>0) {
System.out.println("超过已有的钱数,请重新输入您要取的数目:");
}
else {
System.out.println("取款成功,请收好您的钱.");
Welcome();
SysOpter();
}
}while(true);
}
protected boolean isBalance() {
if(act.get_Money()<0) {
return false;
}
return true;
}
protected boolean isRight(String card,String pwd) {
if(act.get_Code().equals(card)
act.get_Password().equals(pwd))
return true;
else
return false;
}
protected void Set_Password() throws Exception {
String pwd=null;
&&
int counter=0;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do {
System.out.println("请输入旧密码:");
pwd=br.readLine();
if(act.get_Password().equals(pwd))
{
do {
System.out.println("请输入新密码:");
String pwd1=br.readLine();
System.out.println("请再次输入新密码:");
String pwd2=br.readLine();
if(!pwd1.equals(pwd2))
{
System.out.println("两次输入不一致,请再次输入."); }
else
{
System.out.println("密码修改成功,请使用新密码."); Welcome();
SysOpter();
}
}while(true);
}
}while(counter>3);
}
protected void Lock_Sys() {
System.out.println("对不起,您的操作有误,卡已被没收.");
System.exit(1);
}
protected void Exit_Sys() {
System.out.println("感谢您使用本系统,欢迎下次在来,再见!");
System.exit(1);
}
}
public class Text
{
public static void main(String[] args) throws Exception {
ATM atm=new ATM();
atm.Welcome();
atm.Load_Sys();
}
}
2.6运行结果
3.总结
在这次设计过程中,不仅复习课本上所学知识,还通过查资
料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。
3.1项目开发中遇到的困难及解决
在设计中,一些小错误,导致了整个程序的错误,我会求助老师或同学帮我查找,发现错误然后加以改正。
虽然本程序在刚开始调试时有许多错误,但是在我的努力及同学和老师的帮助下这些困难都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。
3.2体会
经过短暂的一周的Java程序设计,使我又学到了很多的知识,尤其是运用Java知识去解决实际问题的能力有得到了很大的提高。由于把所学到的知识做到很灵活的运用到实际中,对于现在的我还有一定的难度,故而,在设计的每个环节中,都会多多少少的遇到一些
问题,这就促使我去查阅各种资料,或者请教同学,极大的提高了我的专业素养,同时对在有些书上的理论知识在实际的运用,以及应该注意的问题有了比较深刻的认识。当然,仍然有些理论问题不是很好的去运用,或者是了解的不深刻。这就使得在实践中所设计的程序有些功能不是自己所想的那样完美。不过,既然发现了问题的所在,我就不会放弃,直至问题得到解决。这些也同时反映出了平时运用知识去实践这方面做的太少,缺乏经验。对所设计中将面临的问题认识不够。是Java课程设计让我认识到这些问题的存在。同时给我提供了去面对这些问题的平台。也使我充分地认识到在以后应该怎样去实践,怎样去学习一门计算机语言,以及如何去运用这门语言区解决实际问题等等。
总之,在经过这次Java的课程设计,使我认识到了自己很多的缺点,同时,也是我学到新知识和新方法的一个机会。这给我在以后继续学习好这门语言指明了方向。
3.3参考资料(书、论文、网络资料)
[1]Java语言程序设计(第三版)—邵丽萍 邵光亚 张后扬 编著 [2]