java课程设计方案报告格式

合集下载

Java课程设计报告1

Java课程设计报告1

Java程序设计课程设计报告院别:计算机系班级:XXXX学号: ******XXXXX姓名: XXX指导教师:XXX日期:2013-5-24目录1概述 (3)1.1实验题目和内容 (3)1.2实验目的和要求 (3)2计算器的设计与实现 (4)2.1程序步骤 (4)2.2程序源代码 (4)3运行调试及讨论分析 (4)4实验小结与心得 (12)1概述1.1设计目的及思路通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。

利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。

给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。

除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。

当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!1.2功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。

(2)减法两个数据进行减操作,可以为负数相减。

(3)乘法两个数相乘操作。

(4)除法两个数相除操作(5)清零将运算框清除(6)返回退回一格2计算器的设计与实现2.1程序界面2.2程序源代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Calculator extends JFrame implements ActionListener{JPanel vv1,vv2,vv3,vv4;JTextField kk1 ; //添加数字框和符号框JButton[] r={new JButton("7"),new JButton("8"),new JButton("9"),new JButton("/"),new JButton("4"),new JButton("5"),new JButton("6"),new JButton("*"),new JButton("1"),new JButton("2"),new JButton("3"),new JButton("-"),new JButton("0"),new JButton("."),new JButton("+"),new JButton("="),new JButton("←"),new JButton("清空")};double a=0,b=0,c=0,fuhao=5;Boolean has=false;Boolean hav=true;Boolean haw=true;Calculator(String S){setTitle(S);kk1=new JTextField("0",20);kk1.setEditable(false);kk1.setFont(new Font("宋体",Font.BOLD,25));kk1.setBackground(Color.YELLOW);for(int i=16;i<18;i++){r[i].setFont(new Font("黑体",Font.BOLD,15));r[i].setForeground(Color.blue);}vv1=new JPanel(new GridLayout(4,5,5,5));vv2=new JPanel(new GridLayout(1,2,1,1));vv3=new JPanel(new FlowLayout());vv4=new JPanel(new BorderLayout());vv3.add(kk1);vv4.add(vv2,BorderLayout.NORTH);vv4.add(vv1,BorderLayout.CENTER);for(int i=0;i<16;i++)r[i].setForeground(Color.black);this.add(vv3,BorderLayout.NORTH);this.add(vv4,BorderLayout.CENTER);for(int i=16;i<18;i++)vv2.add(r[i]);for(int i=0;i<16;i++)vv1.add(r[i]);for(int i=0;i<18;i++)r[i].addActionListener(this);for(int i=16;i<18;i++){setSize(350,300);setLocation(210,205);setResizable(false);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }public void actionPerformed(ActionEvent e){if(e.getSource()==r[12]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"0");else {kk1.setText("");kk1.setText(kk1.getText()+"0");hav=true;haw=true;}}else if(e.getSource()==r[8]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"1");else {kk1.setText("");kk1.setText(kk1.getText()+"1");hav=true;haw=true;}}else if(e.getSource()==r[9]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"2");else {kk1.setText("");kk1.setText(kk1.getText()+"2");hav=true;haw=true;}}else if(e.getSource()==r[10]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"3");else {kk1.setText("");kk1.setText(kk1.getText()+"3");hav=true;haw=true;}}else if(e.getSource()==r[4]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"4");else {kk1.setText("");kk1.setText(kk1.getText()+"4");hav=true;haw=true;}}else if(e.getSource()==r[5]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"5");else {kk1.setText("");kk1.setText(kk1.getText()+"5");hav=true;haw=true;}}else if(e.getSource()==r[6]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"6");else {kk1.setText("");kk1.setText(kk1.getText()+"6");hav=true;haw=true;}}else if(e.getSource()==r[0]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"7");else {kk1.setText("");kk1.setText(kk1.getText()+"7");hav=true;haw=true;}}else if(e.getSource()==r[1]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"8");else {kk1.setText("");kk1.setText(kk1.getText()+"8");hav=true;haw=true;}}else if(e.getSource()==r[2]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"9");else {kk1.setText("");kk1.setText(kk1.getText()+"9");hav=true;haw=true;}} //数字键else if(e.getSource()==r[14]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=0;has=true;hav=true;haw=false;}else if(!haw){fuhao=0;}}//+else if(e.getSource()==r[11]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=1;has=true;hav=true;haw=false;} else if(!haw){fuhao=1; }}//-else if(e.getSource()==r[7]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=2;has=true;hav=true;haw=false;} else if(!haw){fuhao=2;}}//*else if(e.getSource()==r[3]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=3;has=true;hav=true;haw=false;} else if(!haw){fuhao=3;}}// 运算符号/else if(e.getSource()==r[15]){if(kk1.getText().length()>0&&has){b=Double.valueOf(kk1.getText()); // =if(fuhao==0){c=a+b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==1){c=a-b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==2){c=a*b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==3){ if(b!=0){c=a/b;kk1.setText(String.valueOf(c));}else JOptionPane.showMessageDialog(null, "除数不能为0");has=false;hav=false;}}} // 计算else if(e.getSource()==r[13]){if(kk1.getText().indexOf(".")==-1&&kk1.getT ext().length()>0) kk1.setText(kk1.getText()+".");} //添加小数点else if(e.getSource()==r[16]){if(kk1.getText().length()>1)kk1.setText(kk1.getT ext().substring(0, kk1.getText().length()-1));else kk1.setText("0");hav=true;} //Backspaceelse if(e.getSource()==r[17]){kk1.setText("0");has=false;hav=true;}}// CEpublic static void main(String[] args){new Calculator("计算器");}}3运行调试及讨论分析将代码写好之后检查代码的正确性,检查代码无误后将代码进行调试和运行将会出现一个JavaApplet计算器界面。

《JAVA》课设报告

《JAVA》课设报告

武汉理工大学华夏学院课程设计报告书课程名称JA V A课程设计课程设计总评成绩学生姓名、学号叶天治10213312106 学生专业班级物联网1121指导教师姓名许彪课程设计起止日期一、课程设计项目名称计算器设计二、项目设计要求及性能指标基础功能:类似windows计算器-普通计算器所具有的,数的输入、加、减、乘、除、开根号、求倒数、退格、清空,以及数字储存器中的MR(显示)、MC(清空)、M+(相加)、MS(储存)扩展功能: 类似windows计算器-科学计算器所具有的,各种函数(包括正三角反三角函数)计算,不同进制转换,逻辑与或非等操作。

三、项目设计方案1、系统方案设计(分析项目要求和指标,给出总的设计方案,画出项个按钮,总体界面用BorderLayout布局。

文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。

布局设计好后再添加按钮事件。

对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。

在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除2、系统软件设计(给出系统的软件设计,画出程序流程图,并给出关键部分的程序说明。

)import java.awt.*;import java.awt.event.*;public class Counter extends Frame implements ActionListener {TextField t=new TextField("");Panel p1=new Panel();Panel p2=new Panel();Button[] b=new Button[14];Button bAdd=new Button("加");Button bSub=new Button("减");Button bMul=new Button("乘以");Button bPoint=new Button(".");Button bDiv=new Button("除以");Button bEqual=new Button("等于");Button bSqrt=new Button("开方");Button bPow=new Button("平方");Button bBinary=new Button("二进制");Button bOctal=new Button("八进制");Button bHex=new Button("十六进制");Button bNull=new Button("清除");String str1="";String str2="";String operator=null;boolean first=true;int countOper=0;double result=0.0;double num1=0.0,num2=0.0;boolean error=false;public Counter(){super("武汉理工大学华夏学院信息工程系物联网1122班农腾"); t.setEditable(false);for(int i=0;i<10;i++){b[i]=new Button(String.valueOf(i));p1.add(b[i]);b[i].setActionCommand("number");b[i].addActionListener(this);}p1.add(bPoint);bPoint.setActionCommand("number");p1.add(bAdd);p1.add(bSub);p1.add(bMul);p1.add(bDiv);p1.add(bEqual);p2.add(bSqrt);p2.add(bPow);p2.add(bBinary);p2.add(bOctal);p2.add(bHex);p2.add(bNull);bAdd.setActionCommand("oper");bSub.setActionCommand("oper");bMul.setActionCommand("oper");bDiv.setActionCommand("oper");bAdd.addActionListener(this);bSub.addActionListener(this);bMul.addActionListener(this);bDiv.addActionListener(this);bPoint.addActionListener(this);bEqual.addActionListener(this);bSqrt.addActionListener(this);bBinary.addActionListener(this);bOctal.addActionListener(this);bHex.addActionListener(this);bNull.addActionListener(this);p1.setLayout(new GridLayout(4,4,5,5));p2.setLayout(new GridLayout(1,6,5,5));add(t,"North");add(p1,"Center");add(p2,"South");setLocation(600,300);setSize(600,300);setBackground(new Color(200,20,100));setVisible(true);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){Button temp=(Button)e.getSource();if(e.getActionCommand().equals("number")){if(first){str1=str1+temp.getLabel();t.setText(str1);}else{str2=str2+temp.getLabel();t.setText(str2);}}else if(e.getActionCommand().equals("oper")){if(str1==""){countOper=0;first=true;}else{countOper++;if(countOper>1){getResult();}operator=temp.getLabel();first=false;}}else if(e.getActionCommand().equals("开方")){double d=Math.sqrt(Double.parseDouble(str1)); str1=String.valueOf(d);t.setText(String.valueOf(d));first=false;}else if(e.getActionCommand().equals("平方")){double f=Math.pow(Double.parseDouble(str1),2); str1=String.valueOf(f);t.setText(String.valueOf(f));first=false;}else if(e.getActionCommand().equals("二进制")) {int i=Integer.parseInt(str1);String binStr=Long.toBinaryString(i);str1=binStr;t.setText(str1);first=false;}else if(e.getActionCommand().equals("八进制")) {int i=Integer.parseInt(str1);String octStr=Long.toOctalString(i);str1=octStr;t.setText(str1);first=false;}else if(e.getActionCommand().equals("十六进制")) {int i=Integer.parseInt(str1);String hexStr=Long.toHexString(i);str1=hexStr;t.setText(str1);first=false;}else if(e.getActionCommand().equals("清除")){str1="";//清空str2="";t.setText("");countOper=0;first=true;error=false;}else if(e.getActionCommand().equals("等于")){if((str1=="")||(str2=="")){countOper=0;first=true;}else{getResult();countOper=0;}}}public void getResult(){num1=Double.parseDouble(str1); num2=Double.parseDouble(str2); if(operator.equals("加")){result=num1+num2;}else if(operator.equals("减")) {result=num1-num2;}else if(operator.equals("乘以")) {result=num1*num2;}else if(operator.equals("除以")) {if(num2==0.0){error=true;}else{result=num1/num2;}}if(error){t.setText("error");}else{t.setText(String.valueOf(result));str1=String.valueOf(result);str2="";}}public static void main(String[] args){new Counter();}}四、项目设计结果分析(写出整个调试经过和现象,并分析产生不正确结果的原因和处理方法;给出仿真电路运行效果图,实物电路运行效果图。

java课程设计报告word

java课程设计报告word

java课程设计报告word一、教学目标本课程的教学目标是使学生掌握Java编程语言的基本语法、概念和编程技巧,培养学生独立编程和解决问题的能力,并提高学生对计算机科学的热情和兴趣。

1.理解Java编程语言的基本语法和结构。

2.掌握Java中的数据类型、运算符、控制语句、数组、字符串等基本概念。

3.学习Java中的面向对象编程,包括类、对象、继承、多态、封装等概念。

4.熟悉Java中的异常处理、文件操作、集合框架等高级概念。

5.能够使用Java编程语言编写简单的程序,解决问题。

6.具备基本的编程能力和代码调试能力。

7.能够运用面向对象编程思想设计和实现程序。

8.能够阅读和理解Java编程相关的文档和资料。

情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。

2.培养学生独立思考、解决问题的能力。

3.培养学生团队合作、交流分享的学习态度。

二、教学内容根据课程目标,本课程的教学内容主要包括Java编程语言的基本语法、概念和编程技巧。

1.Java基本语法:数据类型、运算符、控制语句、数组、字符串等。

2.面向对象编程:类、对象、继承、多态、封装等。

3.高级概念:异常处理、文件操作、集合框架等。

教学内容将按照教材的章节顺序进行讲解和练习,并结合实际案例和习题进行教学。

三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解和演示,向学生传授Java编程的基本概念和技巧。

2.讨论法:学生进行小组讨论,促进学生之间的交流和思考。

3.案例分析法:通过分析实际案例,让学生理解和应用Java编程知识。

4.实验法:安排实验课程,让学生亲自动手编写代码,培养学生的编程能力。

四、教学资源本课程将使用教材《Java编程思想》作为主要教学资源,并结合多媒体资料、实验设备和网络资源进行教学。

1.教材:《Java编程思想》2.多媒体资料:教学PPT、视频教程等。

Java课程设计报告【模板】

Java课程设计报告【模板】

课程设计报告设计题目: Java课程设计专业计算机科学与技术班级 101学号 201016021127学生姓名李贵云指导教师布瑞琴起至时间 12.16~12.23教师评分2011年月日目录1.概述1.1目的这学期我们学习了Java语言,Java语言是面向对象的开发方法,是当今世界最流行的开发方法,是当今流行的网络编程语言。

它具有面向对象、跨平台、分布应用等特点。

它不仅具有贴近自然的语言,而且有利于软件的维护和继承。

是很多程序开发人员的第一选择。

为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。

让学生自己动手动脑,将书本上的知识运用到实践当中去,使知识能更好的融会贯通。

为了达到这个目的,我们需要自己动手做一个Java的课程设计,在这个课程设计里需要根据我们手中现有的软件与知识基础,独立的将它完成,只有这样,我们才能把理论变成实践,将知识真正的做到学以致用。

1.2课程设计的组成部分课程设计报告的构成包括:(1)前置部分:封面、目录页;(2)主体部分:引言(设计目的、任务与要求等)、正文、结果、项目开发中遇到的困难及解决、体会、参考文献。

2.李贵云设计的内容2.1设计题目题目四:ATM柜员机模拟程序:对某帐号进行查询、取款、存款、查询余额。

2.2具体任务类的创建,构造成员变量和成员方法,生成对象,方法的调用等。

2.3软件环境JCreator Pro v4.02.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;=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++;}elseSysOpter();}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(pareTo(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;elsereturn 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.总结在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。

JAVA语言课程设计报告

JAVA语言课程设计报告

JAVA语言课程设计报告目录1. 课程设计介绍 (2)1.1 课程设计的目的和意义 (2)1.2 实验环境介绍 (3)2. 课程设计项目概述 (4)2.1 项目背景及设立的目的 (5)2.2 用户需求分析 (6)2.3 功能模块划分 (7)3. Java语言基础知识回顾 (7)3.1 Java程序的基础概述 (8)3.2 Java开发环境搭建 (9)3.3 基本语法及常用数据类型 (10)3.4 类与对象的基本知识 (11)3.5 常用API介绍 (11)4. 项目开发过程 (11)4.1 设计方案 (13)4.2 项目需求分析 (14)5. 课程设计关键技术应用 (15)5.1 错误处理机制 (16)5.2 数据库应用 (17)6. 类库及设计模式的应用 (17)6.1 Java类库的基础知识 (19)6.2 设计模式的功能与应用 (20)7. 课程设计总结与展望 (21)7.1 课程设计总结 (22)7.2 缺陷分析与解决方案 (23)7.3 课程设计展望 (23)1. 课程设计介绍本课程设计旨在通过实际项目实践,让学生深入理解和掌握语言的核心编程技能和设计思想。

本次设计选择了一个具有实际应用背景的项目作为案例,即“简易在线考试系统”。

该系统旨在模拟现实中的在线考试流程,实现考生在线答题、自动评分、成绩查询等功能。

本次课程设计以语言为基础,结合框架、数据库等技术,引导学生从需求分析、系统设计、编码实现到系统测试的完整软件开发流程。

通过本课程设计,学生能够:在本次课程设计中,学生将独立完成系统需求分析、系统设计、编码实现、测试与优化等环节,最终提交一个功能完善、性能稳定的在线考试系统。

通过这一过程,学生不仅能够巩固和提升自身的编程能力,还能培养解决实际问题的能力和创新思维。

1.1 课程设计的目的和意义课程设计目的在于深入理解语言的核心概念与实际应用,通过具体的项目实施巩固和应用课堂上所学的知识点。

Java课程设计报告模版

Java课程设计报告模版

《Java程序设计》
课程设计报告
题目 Windows操作系统计算器的
模拟实现
院系
年级班级
学号
学生姓名
指导教师
年月日
目录
一、课程设计目的、任务及要求 (1)
二、设计思路 (2)
三、详细设计 (3)
四、运行调试与分析 (4)
五、设计小结 (5)
一、课程设计目的、任务及要求
课程设计目的:
1、熟练掌握Java的swing组件或awt组件。

2、熟练掌握事件处理的方法。

课程设计任务及要求:
使用swing组件或awt组件(推荐使用swing组件)模拟实现Windows 操作系统的计算器。

具体要求如下:
1、该计算器可以进行简单的十进制数据的四则运算(加、减、乘、除)
2、该计算器可以进行二进制、八进制、十进制、十六进制之间的相互
转换。

(选做)
3、该计算器可以实现求阶乘、平方、立方、n次方、绝对值、正弦、
余弦、正切等运算。

(选做)
设计环境:
Java SE Development Kit
二、设计思路
字体为宋体小四号字,行间距为多倍1.5。

以下同.
三、详细设计
四、运行调试与分析
五、设计小结。

JAVA课程设计报告书模板

JAVA课程设计报告书模板
6
import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JButton; import javax.swing.JColorChooser; import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;

Java课程设计报告样本

Java课程设计报告样本

《Flash程序设计》课程设计报告课程名称: Flash程序设计实验项目名称: 4屏flash焦点图上下切换效果程序院系: 物理与电子信息学院学号: ***********: ***班级: 10数字媒体日期: 2011 年12 月实验地点:课程设计成绩:实验指导教师签字:4屏flash焦点图上下切换效果程序一、课程设计目标此次课程设计的目的是通过对文本、图像、音频和视频媒体的制作方法和工具的学习, 使自己能够独立地运用相关软件进行图像处理和动画制作, 并在此次实践中检验自己的掌握程度。

1.运用动画制作软件Flash设计制作动画。

2、具体目的是:Flash作品要求做一个动画短片, 主题自定, 内容健康向上。

要求时长30秒以上, 使用按钮、脚本、遮罩、引导动画、背景音乐。

开发环境:Windows 7Flash cs3.0需求分析:在这个flash中我需要建立若干图层, 一步步建立背景、个人图片, 制造出环境效果;需要人物照片和数字的原件, 需要在人照片的图层上建立引导层;;需要创建补间动画来实现上下变化照片等效果;需要添加按钮来开始动画。

二、课程设计内容1.使用Flash cs3.0设计一个人物焦点图片上下变换。

在其中建立图片、数字、动作、音乐等图层2.利用flash制作出简单的效果三、过程设计1、利用不同的图片, 在变换数字的角度下观察到上下不同的切换效果2、设计思路第一步: 首先准备要滚动的图片, 将4张图片导入到flash库中, 分别在库中右击它们, 选择属性, 将“使用导入的JPEG品质”前的钩去掉, 这样文档的体积会小很多。

点击插入>新建元件, 新建一图形元件, 将库的图片拖到舞台上, 图片上下拼接好。

第二步: 回到主场景, 将图片元件拖到舞台上, 打开对齐面板, 选择相对舞台, 把图片变成影片剪辑。

第三步:依次加入1、2、3、4四个图层用来设置数字做出的影片剪辑添加数字的动作事件s t o p()图层数字影片剪辑第四步:图层L1-L12,用来制作出不同的数字按钮,控制好线条的颜色,单击数字时颜色的变化第五步:建立新的图层代码层,写下制作的全部代码下面是一下重要代码解释1,w h i l e(i <= s l i d e N u m){i f(s l i d e O v e r==i) {i f(t h i s["s l i d e M c" +i]._c u r r e n t f r a m e<t h i s["s l i d e M c"+i]._t o t a l f r a m e s){t h i s["s l i d e M c" + i].n e x t F r a m e(); t a r g e t y = (-i m g H e i g h t) * (i -1);}}e l s e i f(t h i s["s l i d e M c"+i]._c u r r e n t f r a m e>1){t h i s["s l i d e M c" + i].p r e v F r a m e(); }这些循环语句用来增加变量数字,2,M o v i e C l i p.p r o t o t y p e.i m g R o l l O v e r=f u n c t i o n();m o u s e O v e r=t r u e;};M o v i e C l i p.p r o t o t y p e.i m g R o l l O u t=f u n c t i o n() {m o u s e O v e r = f a l s e;};M o v i e C l i p.p r o t o t y p e.b t n R o l l O v e r = f u n c t i o n (){s l i d e O v e r=t h i s._n a m e.s l i c e(7);m o u s e O v e r=t r u e;};M o v i e C l i p.p r o t o t y p e.b t n R o l l O u t=f u n c t i o n(){m o u s e O v e r=f a l s e;};用来判断影片剪辑的是否上下移动第六步:把音乐导入到库里建立新的图层“音乐”。

java程序设计课程设计报告模板

java程序设计课程设计报告模板

《JA V A程序设计》课程设计报告
设计题目
学号:
姓名:
班级:
指导教师:
成绩:
完成时间:
一、设计内容和要求
1、某某某(题目)的基本要求
2、需要实现的主要功能
二、系统分析与概要设计
根据问题描述和要求实现的功能,介绍各个主要功能的设计(如布局设计、音效设计等等),以及在该功能下要用到的成员变量和方法(主要是咱们自己定义的),也可通过图加以说明
三、详细设计和编码
1、总体功能图
如:
2、类的定义及关系
……实现概要设计中定义所有类,描述类之间的关系,可以通过图说明……
3、运行效果图
4、源代码
四、测试结果
(列出测试结果,设计是否能正常运行)
五、小结
(设计过程心得体会)
六、参考文献。

java课程设计报告(完整版)

java课程设计报告(完整版)

目录1、摘要2、概要设计3、详细设计4、测试分析5、总结6、参考文献【前言】Java不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一。

Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。

目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。

本次课程设计就是利用java语言来编写简单的计算器,能进行加、减、乘、除四则运算,下面给出了该设计的理论分析和具体步骤。

一、摘要本计算器可以进行简单的四则运算(加、减、乘、除),但仅限于十进制下。

“Backspace”按钮表示退格,“CE”按钮表示清除当前文本框内的数据,“C”按钮表示清除文本框内数据,同时var、answer清零。

该程序可在JCreator环境下直接运行。

二、概要设计1、自定义说明(1)类名:Calculator作用:主类继承的父类:JFrame类实现的接口:ActionListener类public class Calculator extends JFrame implements ActionListener{private static String[] btnTexts = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"}; //定义数组bstTexts来存放计算器上的各个按钮Button button[] = new Button[16];Button BkButton,CeButton,CButton,EqButton;boolean clickable; //控制当前能否按键double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算DecimalFormat df; //设置数据输出精度private JTextField displayField = new JTextField(" "); //计算结果显示区public Calculator(){………}public void actionPerformed(ActionEvent event){………}}(2)方法名:Calculator作用:设置窗体布局public Calculator(){//Frame frame = new Frame("Calculator");super("Calculator"); //显示主窗口标题“Calculator”df = new DecimalFormat("0.00000000"); //设置数据输出精度(对于double型值)BkButton = new Button("Backspace");BkButton.setForeground(Color.red);CeButton = new Button("CE");tForeground(Color.red);CButton = new Button("C");CButton.setForeground(Color.red);EqButton = new Button("=");EqButton.setForeground(Color.red); //将“Backspace”、“CE”、”C”、“=”显示为红色BkButton.addActionListener(this);nListener(this);CButton.addActionListener(this);EqButton.addActionListener(this);displayField.setHorizontalAlignment(JTextField.RIGHT); //将计算结果显示在displayField的右面JPanel p1 = new JPanel(new FlowLayout()); //以FlowLayout布局p1 p1.add(BkButton);p1.add(CeButton);p1.add(CButton);p1.add(EqButton); //设置四个按钮:"Backspace","CE","C","="JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2 p2.add(displayField);p2.add(p1); //加入显示结果的JTextField和p1JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3 for(int i = 0;i < btnTexts.length;i++){button[i] = new Button(btnTexts[i]); //将数组btnTexts[]的值赋给数组button[] button[i].setForeground(Color.blue); //组件button的前景色显示蓝色p3.add(button[i]);button[i].addActionListener(this);}Container cp = this.getContentPane(); //采用默认的BorderLayout布局cpcp.add(p2,BorderLayout.NORTH);R);}(3)方法名:actionPerformed作用:设置各个按钮的行为public void actionPerformed(ActionEvent event){boolean sign = false; //判断是否是double型数参与运算,是为true,不是为falseObject temp = event.getSource();try{for (int i = 0; i <= 9; i++) //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后displayField.setText(displayField.getText() + Integer.toString(i));//按下'.'按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.'if (temp == button[14] && clickable == true){……….}if ( (temp == button[10] || temp == button[11] || temp == button[12] || temp == button[13]) && clickable == true){//'+'操作if (temp == button[10]){…………}//'-'操作if (temp == button[11]){…………}//'*'操作if (temp == button[12]){…………}//'/'操作if (temp == button[13]){…………}//'='操作if (temp == EqButton && clickable == true){…………}//按下'+/-'按钮时处理{…………}//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除if (temp == BkButton && clickable == true){…………}//按下'CE'按钮,将当前文本框内数据清除if (temp == CeButton){………}//按下'C'按钮,文本框内数据清除,同时var,answer清0if (temp == CButton){………}}//输入中如果有操作非法,比如按下两次'+',捕获异常catch (Exception e){displayField.setText("操作非法");clickable = false;}2、界面设计下图为该程序运行时的界面截图:三、详细设计以下为该程序的主要代码:import javax.swing.*;import java.awt.*;import javax.swing.event.*;import java.awt.event.*;imalFormat;public class Calculator extends JFrame implements ActionListener{private static String[] btnTexts ={"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"};Button button[] = new Button[16];Button BkButton,CeButton,CButton,EqButton;boolean clickable; //控制当前能否按键double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算DecimalFormat df; //设置数据输出精度private JTextField displayField = new JTextField(" ");//计算结果显示区public Calculator(){super("Calculator"); //显示主窗口标题“Calculator”df = new DecimalFormat("0.00000000"); //设置数据输出精度(对于double型值)BkButton = new Button("Backspace");BkButton.setForeground(Color.red);CeButton = new Button("CE");CeButton.setForeground(Color.red);CButton = new Button("C");CButton.setForeground(Color.red);EqButton = new Button("=");EqButton.setForeground(Color.red); //将“Backspace”、“CE”、”C”、“=”显示为红色BkButton.addActionListener(this);CeButton.addActionListener(this);CButton.addActionListener(this);EqButton.addActionListener(this);displayField.setHorizontalAlignment(JTextField.RIGHT); //将计算结果显示在displayField的右面JPanel p1 = new JPanel(new FlowLayout()); //以FlowLayout布局p1 p1.add(BkButton);p1.add(CeButton);p1.add(CButton);p1.add(EqButton); //设置三个按钮:"Backspace","CE","C","="JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2 p2.add(displayField);p2.add(p1); //加入显示结果的JTextField和p1JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3 for(int i = 0;i < btnTexts.length;i++){button[i] = new Button(btnTexts[i]); //将数组btnTexts[]的值赋给数组button[] button[i].setForeground(Color.blue); //组件button的前景色示蓝色p3.add(button[i]);button[i].addActionListener(this);}Container cp = this.getContentPane(); //采用默认的BorderLayout布局cpcp.add(p2,BorderLayout.NORTH);cp.add(p3,BorderLayout.CENTER);}//设置各个按钮行为public void actionPerformed(ActionEvent event){boolean sign = false; //判断是否是double型数参与运算,是为true,不是为falseObject temp = event.getSource();try{for (int i = 0; i <= 9; i++) //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后if (temp == button[i] && clickable == true)displayField.setText(displayField.getText() + Integer.toString(i));//按下'.'按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.'if (temp == button[14] && clickable == true){boolean isDot = false;if (displayField.getText().length() == 0)isDot = true;for (int i = 0; i < displayField.getText().length(); i++)if ('.' == displayField.getText().charAt(i)){isDot = true;break;}if (isDot == false)displayField.setText(displayField.getText() + ".");}if ( (temp == button[10] || temp == button[11] || temp == button[12] || temp == button[13]) && clickable == true){//'+'操作if (temp == button[10]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:le(displayField.getText());}displayField.setText("");prekey = key = 0;}//'-'操作if (temp == button[11]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 1;}//'*'操作if (temp == button[12]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 2;}//'/'操作if (temp == button[13]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 3;}}//'='操作if (temp == EqButton && clickable == true){//如果连续按'=',则进行连续运算if (prekey == 5){if (key == 0){answerd += vard;displayField.setText(df.format(answerd));}if (key == 1){answerd -= vard;displayField.setText(df.format(answerd));}if (key == 2){answerd *= vard;displayField.setText(df.format(answerd));}if (key == 3){if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}else{answerd /= vard;displayField.setText(df.format(answerd));}}}else{vard = Double.parseDouble(displayField.getText());if (key == 0){prekey = -1;answerd += Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 1){prekey = -1;answerd -= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 2){prekey = -1;answerd *= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 3){prekey = -1;if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}else{answerd /= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}}prekey = 5;}//按下'+/-'按钮时处理if (temp == button[15] && clickable == true){boolean isNumber = true;String s = displayField.getText();for (int i = 0; i < s.length(); i++)if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' || s.charAt(i) == '-')){isNumber = false;break;}if (isNumber == true){//如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-'){displayField.setText("");for (int i = 1; i < s.length(); i++){char a = s.charAt(i);displayField.setText(displayField.getText() + a);}}//如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsedisplayField.setText('-' + s);}}//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除if (temp == BkButton && clickable == true)String s = displayField.getText();displayField.setText("");for (int i = 0; i < s.length() - 1; i++){char a = s.charAt(i);displayField.setText(displayField.getText() + a);}}//按下'CE'按钮,将当前文本框内数据清除if (temp == CeButton){displayField.setText("");clickable = true;}//按下'C'按钮,文本框内数据清除,同时var,answer清0if (temp == CButton){vard = answerd = 0;displayField.setText("");clickable = true;}}//输入中如果有操作非法,比如按下两次'+',捕获异常catch (Exception e){displayField.setText("操作非法");clickable = false;}}public static void main(String args[]){Calculator calculator = new Calculator();calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);calculator.setSize(300,200);calculator.setVisible(true);}}四、测试分析(1)程序运行情况该程序正常的响应按钮事件,能进行简单的加、减、乘、除四则运算,在输入之前须先进行清零处理,然后再输入数值进行运算。

java课程设计报告模板

java课程设计报告模板

面向对象系统课程设计报告
题目:
姓名:
学号:
学院:
专业:
指导教师:
开课时间: 2016~2017学年第二学期
二○一六年十二月
目录
一、设计的目的和意义 (1)
1. 课程设计目的 (1)
2.课程设计的意义 (1)
二、开发工具及环境 (1)
三、系统需求及概要设计 (1)
1.需求分析 (1)
2.概要设计 (1)
四、难点的解决思路和方案 (1)
1 难点分析 (1)
2 解决思路 (1)
3具体方案 (1)
五、系统界面演示 (1)
六、心得体会 (1)
附录、参考文献 (1)
一、设计的目的和意义
1. 课程设计目的
2.课程设计的意义
二、开发工具及环境
三、系统需求及概要设计
1.需求分析
2.概要设计
四、难点的解决思路和方案
1 难点分析
2 解决思路
3具体方案
五、系统界面演示
六、心得体会
附录、参考文献。

Java专业课程设计方案报告模板

Java专业课程设计方案报告模板

浙江科技学院《Java程序设计》课程设计汇报设计题目:学生信息管理系统姓名:邱焕明学号:所属院系:信息学院专业:软件工程小组组员:邱焕明设计时间: -1-6指导老师:虞建东一、课程设计目标(1)试验目标:结合开发系统,给出学生信息管理系统二、课程设计完成任务三、设计过程(一)需求分析1、基础资料管理基础资料管理包含对院系、班级和学期设置。

该模块可实现以下功效:添加、修改、删除和显示院系代码、院系名称和电话号码。

添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。

添加、修改、删除和显示学期代码、学期名称。

2、学生信息管理学生信息管理包含对学生档案和学籍管理。

该模块可实现以下功效:添加、修改、查询和显示学生基础信息、所属班级和院系。

统计学生学籍、学生离校信息和学生调动信息。

3、课程信息管理课程信息管理包含对课程设置和班级选课管理。

该模块可实现以下功效:添加、修改、删除和显示课程代码、课程名称、学分和院系名称。

添加、删除和提交班级所选课程。

4、成绩信息管理成绩信息管理包含对成绩录入和成绩分析管理。

该模块可实现以下功效:录入班级课程成绩,以不一样形式(列表统计、图表分析)显示班级课程成绩。

(二)系统设计概念、步骤初定义1、实体名:院系2、实体名:班级3、实体名:学生4、实体名:课程(三)系统内容计划1、班级信息表表3-1班级信息表2、课程信息表表3-2课程信息表(四)系统总体设计内(五)系统具体设计列名数据类型长度备注班级编号char 5 主键班级名称varchar 50 无所属院系varchar 50 无学生人数smallint 2 无列名数据类型长度备注课程代码char 10 主键课程名称varchar 50 无学分tinyint 1 无所属院系varchar 50 无(六)系统测试四、设计总结(宋体小四粗体)首先,更深入了解了数据库基础操作,在这之前,数据库学习仅仅刚开了个头,我们只是在了解部分概念性东西。

java课设报告格式

java课设报告格式

在线评判系统——JA V A实践报告系别: 计算机工程系专业: 计算机科学与技术班级: 08级2班姓名:组员:指导老师:2011年1月10日一、 软件实现的功能Java 代码在线评判系统,实现用户提交代码的自动评判、显示结果。

二、 开发平台MyEclipse 为开发平台,数据库为MySQL ,语言使用Java 。

三、 模块设计四、数据库设计五、代码实现public class Compiler {public String name;public String args;private Target target;private OutResult result;private Process process;private Runtime rt;public Compiler(String compilerName,String args,Target target,Runtime rt){ =compilerName;this.args=args;this.target=target;this.rt=rt;result=new OutResult();}public OutResult compile(){if(name==null||target==null||"".equals(name))return null;System.out.println();System.out.println("--begine compile--");try {if(isTargetFileExit()){clearObjFile();}process=rt.exec( name+" "+args+" \""+target.filePath+target.fileName+target.fileExtension+"\"");// System.out.println( name+" "+args+" \""+target.filePath+target.fileName+target.fileExtension+"\"");redirectCompileInfoToResult();if(isSuccess()){result.setState("compileSuccess");}else{result.setState("compileError");}} catch (IOException e) {System.out.println("错误"+e.getMessage());}System.out.println("--end compile--");return result;}public OutResult compile(String compilerName,String args,Target target){ compilerName="javac";if(compilerName==null||"".equals(compilerName))return null;rt=Runtime.getRuntime();try {process=rt.exec(compilerName+" "+args+" \""+target.filePath+target.fileName+target.fileExtension+"\"");System.out.println(" "+compilerName+" "+args+" \""+target.filePath+target.fileName+target.fileExtension+"\""+" fasd");redirectCompileInfoToResult();if(isSuccess()){result.setState("compileSuccess");}else{result.setState("compileError");}} catch (IOException e) {System.out.println("错误"+e.getMessage());}return result;}private void redirectCompileInfoToResult() {InputStream isStdErro = process.getErrorStream();InputStream isStdIn = process.getInputStream();byte b[] = new byte[1024];try {int readBytes=isStdErro.read(b);if(readBytes<0)readBytes=0;String s=new String(b,0,readBytes);result.erroCompile=s;isStdErro.close();readBytes=isStdIn.read(b);readBytes-=2; //不包括0d 0aif(readBytes<0)readBytes=0;String s1=new String(b,0,readBytes);result.outCompile=s1;result.targetId=target.targetId;isStdIn.close();} catch (IOException e) {e.printStackTrace();}}private void clearObjFile(){File f=new File(target.filePath+target.fileName);//if(stModified()<f.get)f.delete();System.out.println(" delete file.");}private boolean isTargetFileExit(){File f=new File(target.filePath+target.fileName+target.objExtension);if(f.exists()){return true;}return false;}private boolean isErro(){if(result.erroCompile==null){return false;}if(result.erroCompile.length()>0){return true;}return false;}private void newInputFile(){File inputFile=new File(target.filePath+target.fileName+target.fileExtension);try {OutputStream os = new FileOutputStream(inputFile);os.write(target.input.getBytes());os.close();} catch (FileNotFoundException e) {System.out.println("错误"+e.getMessage());} catch (IOException e) {System.out.println("错误"+e.getMessage());}}}public class Executor {public String name;public String args;private Target target;private OutResult result;private Process process ;private Runtime rt;public Executor(String executorName, String args, Target target,Runtime rt) { = executorName;this.args = args;this.target = target;result = new OutResult();result.setState("compileSuccess");result.targetId=target.targetId;this.rt=rt;process=null;}public Process getProcess(){if(process==null){System.out.println(" process is null.");}return process;}public OutResult execute(Controller controller) {try {process = rt.exec(name + " " + args + " " +target.fileName);controller.setProcess(process);controller.setOutResult(result);controller.start();redirectInputDataToProcess();redirectExecuteInfoToResult();controller.interrupt();if (!isErro()) {result.setState("runSuccess");if (checkAnswerFromTarget()) {result.setState("rightAnswer");System.out.println(" memory="+result.getMemory()+" time="+result.getTime()+" sate="+result.getState());} else {result.setState("wrongAnswer");}}else {}} catch (IOException e) {result.setState("runError");System.out.println("错误" + e.getMessage());return result;}catch(Exception ex){System.out.println("错误" + ex.getMessage());}System.out.println(" result="+result.getState());return result;}private void redirectInputDataToProcess() {if(!"".equals(target.input)){OutputStream osStdOut=process.getOutputStream();try {osStdOut.write(target.input.getBytes());osStdOut.close();} catch (IOException e) {e.printStackTrace();}}}private boolean checkAnswerFromTarget(){if(target.output.equals(result.outExecute)){System.out.println("equal");return true;}return false;}private boolean isErro() {String resultState=result.getState();if( ("timeOut".equals(resultState)&&!"memoryOut".equals(resultState)) ){ return true;}return false;}private void redirectExecuteInfoToResult(){InputStream isStdErro = process.getErrorStream();InputStream isStdIn = process.getInputStream();byte b[] = new byte[1024];try {int readBytes=isStdErro.read(b);if(readBytes<0)readBytes=0;String s=new String(b,0,readBytes);result.erroExecute=s;isStdErro.close();readBytes=isStdIn.read(b);readBytes-=2; //不包括0d 0aif(readBytes<0)readBytes=0;String s1=new String(b,0,readBytes);result.outExecute=s1;isStdIn.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}六.程序演示界面用户登录:主界面:评判结果显示:七.课设心得这次课设由于时间比较紧,只能利用课余时间,所以,没有达到需求开发文档的全部要求,只有基本的东西。

安工JAVA课程设计报告格式参考模板

安工JAVA课程设计报告格式参考模板

安阳工学院计算机学院JA V A综合项目报告专业班级:学生姓名:学生学号:小组成员:指导教师姓名:1 / 2课程设计项目要求:1.单人或不超过3人为小组单位,编写相应程序,完成系统基本功能,要求能够正常运行,不限书本上的基础知识。

2.课题名称内容不限,因为是小组工作,所以工作量不能太小。

不能把个人工作代替小组工作。

3.系统要求有基本功能介绍,可以参考和下载网上原代码。

4. 该项目到15周结束。

5. 要求提交JA V A课程设计报告。

5页以上文字内容,小4号字体,行间距1.5倍,插图要不大于页面1/3。

封面如上页所示。

6. 程序要有原代码。

能够正常运行。

工作量太小要扣分数。

7. 最后以小组为单位展示作品。

PPT不超过10页。

可以制作视频播放来代替课堂程序的演示。

8. 最后各人都要提交:课程设计报告,小组PPT,和程序源代码。

定分标准:1. 课程设计总分为60分2. 实验报告格式不对,每项差错扣5分。

3. 实验报告页数不够5页以上,每缺一页扣10分。

4. 程序工作量太小,根据情况扣分10-30分。

实验报告书写主要内容:1.选题目的与系统概述2.系统可行性分析与相关技术背景分析3.系统设计与关键技术4.系统测试与操作实施方法5.系统设计总结与回顾6.7.8.友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!9.10.11.。

java课程设计报告.doc

java课程设计报告.doc

java课程设计报告.doc一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等知识,培养学生编写简单Java应用程序的能力,提高学生解决实际问题的实践能力。

1.掌握Java基本语法和常用数据类型。

2.理解面向对象编程的基本概念,如封装、继承、多态。

3.熟悉Java常用类库和API。

4.掌握Java程序的调试和运行方法。

5.能够使用Java编写简单的应用程序。

6.能够运用面向对象编程思想解决实际问题。

7.具备基本的Java程序调试和优化能力。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。

2.培养学生热爱编程、积极探索的精神。

3.增强学生对计算机科学的兴趣和自信心。

二、教学内容本课程的教学内容主要包括Java基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.Java基本语法:变量、数据类型、运算符、表达式、语句等。

2.流程控制:顺序结构、选择结构、循环结构等。

3.数据结构:数组、链表、栈、队列、树等。

4.面向对象编程:类、对象、封装、继承、多态等。

5.Java常用类库和API:String类、数学类、日期类等。

6.综合实践:编写简单的Java应用程序,如计算器、通讯录等。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解Java编程的基本概念和知识点,使学生掌握相关知识。

2.案例分析法:分析实际案例,让学生了解Java编程在实际应用中的优势和特点。

3.实验法:引导学生动手实践,培养学生的编程能力和实际问题解决能力。

四、教学资源1.教材:《Java编程思想》、《Java核心技术》等。

2.参考书:《Java编程指南》、《Java并发编程》等。

3.多媒体资料:PPT、教学视频、在线教程等。

4.实验设备:计算机、网络环境、编程软件等。

五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面、客观、公正地评价学生的学习成果。

《Java 》课程设计报告模板

《Java 》课程设计报告模板

南京晓庄学院《JAVA程序设计》课程设计报告题目: 贪吃蛇游戏系统的设计与实现姓名: 刘婷婷学号:班级: 12软转1班指导教师: 王铮完成时间2015年6月25号成绩:信息工程学院2015年6月目录1 引言 01.1 系统开发背景 01.2 完成的主要工作 02需求分析和总体设计 (1)2.1 需求分析与设计思路 (1)2.1.1关键技术说明 (1)2.1.2需求分析 (1)2.1.3系统目录结构说明 (1)2.2 系统功能设计 (1)2.2.1 蛇、食物的表示 (1)2.2.2 蛇的移动 (2)2.2.3 蛇的移动方向 (2)2.2.4 如何显示蛇身 (2)2.2.5 蛇身的移动方向 (2)2.2.6 吃到食物的判定 (2)3.1 系统模块实现 (3)3.1.1 英雄榜模块实现 (3)3.1.2 自定义模块实现 (7)3.1.3 计时器模块实现 (10)3.1.4 外挂模块实现 (10)其实我是这学期才开始接触Java语言,所以做出这个游戏对我来说还蛮难的,其次,eclipse这个软件我也只是在刚结束的软件开发综述的课程里刚接触,所以做这个游戏的一开始很难,什么都要不停的请教同学,在做这个游戏的过程中也是不断查阅文献资料来完成的。

做这个游戏过程中,我觉得最简单的应该算是计时器模块,最难得就是自定义模块,虽然设计内容繁多,过程繁琐但我的收获却更加丰富。

(11)4系统运行界面 (12)游戏开始界面 (12)点击高级,出现16*30界面,左边显示雷数:99 (13)点击自定义 (14)点击排行榜 (14)游戏成功 (15)游戏开始点击外挂,标记处雷区 (16)5 课程设计总结 (17)扫雷游戏系统的设计与实现1引言1.1系统开发背景贪吃蛇是世界知名的益智类小游戏,选择这个题目一方面的原因是为了将我们自己的所学知识加以运用;另一方面,虽然很小就接触这个游戏,但是它的制作方法对我们而言还是很神秘的。

我们希望通过自己的所学知识把它剖析开来,通过自己的动手实践,真正的了解它的本质和精髓。

java课程设计设计实验报告

java课程设计设计实验报告

java课程设计设计实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等基本知识,培养学生运用Java语言解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和编程规范;(2)掌握Java中的基本数据类型、运算符、表达式;(3)了解Java的流程控制语句,如if、for、while等;(4)熟悉Java数组、字符串、集合等数据结构的使用;(5)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等;(6)掌握Java异常处理机制和文件操作。

2.技能目标:(1)能够使用Java编写简单的程序,实现基本的功能;(2)能够运用面向对象编程思想,设计并实现具有一定复杂度的程序;(3)具备阅读Java代码的能力,能够理解并修改他人编写的程序;(4)掌握使用Java开发工具,如Eclipse、IntelliJ IDEA等;(5)了解Java程序的调试和性能优化方法。

3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生主动学习的动力;(2)培养学生团队合作精神,提高学生沟通协作能力;(3)培养学生面对挑战、解决问题的信心和勇气;(4)培养学生具有良好的代码规范和编程习惯。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.第一章:Java入门,介绍Java编程语言的基本概念、环境搭建和基本语法;2.第二章:基本数据类型和运算符,学习Java中的整数、浮点数、字符、布尔等数据类型以及运算符;3.第三章:流程控制语句,学习if、for、while等流程控制语句的使用;4.第四章:数组和字符串,学习数组的声明、初始化和使用,字符串的创建、操作和转换;5.第五章:集合框架,学习List、Set、Map等集合接口及其实现类的使用;6.第六章:面向对象编程,学习类、对象、封装、继承、多态等概念及应用;7.第七章:异常处理和文件操作,学习Java异常处理机制和文件读写方法;8.第八章:Java编程实践,通过案例分析法和实验法,巩固所学知识,提高实际编程能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》课程设计报告
题目
专业班级计科1303
学号201307010310
201307010311
201307010312
201307010313
姓名赵肖凡潘静
郝艳珍张栋尧
指导老师宋新爱
完成时间
目录
1 系统描述2
2 系统设计2
2.1 系统功能模块2
2.2 设计思路2
3 主要程序代码2
4 程序测试2
参考文献2
格式(此页不打印!)
一级标题:宋体四号,加粗,单倍行距
二级标题:宋体小四,加粗,单倍行距
正文:宋体五号,首行缩进2个字符,“两端对齐”的对齐方式,行距20磅
每个小组的文档装在一个档案袋中,包括一份小组报告,每人一份个人总结。

1系统描述
(描述系统要求实现的功能,不能照搬任务书!)
2系统设计
2.1系统功能模块
(划分系统模块,设计总体框图,并进行描述。


2.2 设计思路
(描述解决相应问题的算法设计思想,例如:文件操作流程、数据的录入、查询和统计等实现方法的描述。


3 主要程序代码
4 程序测试
(设计测试数据,要求测试数据能全面地测试所设计程序的功能。


参考文献
格式:
[1] 陈火旺,徐建波,周新莲. Web设计原理与编程技术[M]. 长沙:中南大学出版社, 2005.
[2] 王书海,钟谦,张宏壮. 网络考试中题库设计与组卷技术研究与实现[J]. 石家庄铁道学院学报,2002,20(3):10-12.。

相关文档
最新文档