公文素材库 首页

java实训收获总结

时间:2019-05-26 21:08:46 网站:公文素材库

java实训收获总结

尊敬的各位领导、各位老师、各位同学:

大家好!

在学院领导老师的带领和安排下,我们在上个学期末,到北京进行了为期10天的专业实习。在实习过程中,我们在专编程技能以及软件开发的总体架构思想上都收获颇丰。

本次实训我们分为两个阶段,前五天为第一阶段,我们进行了理论知识的学习,巩固和深化了所学的编程知识。以下谈一谈个人的感受与体会

一、理论知识的学习

在实训进行的前五天,我们上的是java编程的理论课。负责上课的老师言语风趣幽默而不失严谨,在老师的引导和启发下,我们巩固了之前在学校所学的编程知识,并加以深化,澄清之前对编程技术认识的一些错误或模糊的概念。

我们还在课上以java里GUI编程常用的swing框架和JAVA的容器体系作为切入点,框架作为这期间除了学习一般的编程的知识技巧。在全面的系统的认识了框架同时补充学习了泛型技术,以及框架中架构思想的知识。在企业的实际编码过程中,一个个框架构成了软件的基石,只有掌握了几门框架知识,才能在实践中高效开发,让自己的产品在市场上立于不败之地。

在理论课的学习过程中,我们也暴露了一些问题,比如在学校上课学习时,对所学知识只是知其然而不知其所以然,不太愿意深钻,和超前学习一些知识。二、项目开发实战练习

在结束了理论知识的学习之后,后五天我们在实训基地进行了项目开发的实战练习。

项目的名称是superVCD,是由海辉曾经所接的一个远程音乐唱片管理软件项目的精简版。虽然有所精简,但是其内容对我们学习仍具有相当的价值,对我们了解真实的软件的设计规范,编码规范,文档规范以及客户对软件的需求很有参考价值。该内容囊括了GUI设计和编码,容器与泛型的知识,规范文档编写,测试及日志系统,甚至要求我们实现一个专用的轻量级数据库系统,这无疑是对我们很好的一次历练机会,同时可以积累丰富的知识。

平时我们很少有机会能够完成一个如此规模的项目,所以在这次项目实战训练中,我的收获也有很多。

第一,我学会了如何规范的编写代码和文档。文档和代码是团队各成员在项目开发交流合作中的纽带,风格随意混乱的代码和缺失或语义不明的文档会让团队中的其他成员不能理解和使用自己写的程序,我在平时编写代码比较随意,并不注重这一点,经历这次实战演练之后,我一定会严格的遵守编码规范。

第二,我学会了如何理解和分析客户的需求。软件为客户而生,只有理解了客户的需求才有写出优秀的软件的可能,在这次实战演练中,老师教会了我们如何组织团队正确的理解和分析客户的需求,并写出完善的需求分析,并用于项目开发。

第三,我学会了对按照需求对软件架构进行设计,这点我想是我们许多同学之前都非常欠缺的,因为我们在学校的时编写代码篇幅短小,功能单一,所以设计思路通常只留于脑内,非常模糊。而在这次项目开发演练中,老师手把手的教会我如何从需求中抽象出问题,并将之模块化,然后逐步求精,就如同为高楼大厦搭建栋梁。

第四,我学会了如何团队合作,共同开发。作为项目开发小组的组长,我的体会更加深刻。独木难支,光靠一个人的力量是远远不够的。只有管理组织好一个团队,才能够最终完成项目的开发,或许在编程技术水平上团队成员有高有低,但是,每个人都有自己的闪光点,总可以在团队的找到适合自己的位置,每个人在自己的团队中做的贡献,创造出不可磨灭的重大价值。

第五,我学会了如何与客户沟通并展示自己的项目,软件项目的开发最终需要的是客户的认可,让客户了解并认可自己的产品最好的办法就是用言语将自己的项目的最好的一面展示出来,在最后一天里,实训的老师组织了项目的答辩,给我们提供了锻炼自己的表达能力,展示自己的项目的舞台。

在实战的过程中,我对项目开发流程有了切实的体会:学会了如何编写规范合格的代码和文档;学会了了正确理解分析客户需求并设计项目的方法;体会到了团队合作精神的重要性,明白了组织团队进行项目开发的具体流程,还了解到了向客户展示产品以及与客户进行沟通的技巧。

经历过这次实习实训,我们不仅在编程的理论知识上有所巩固和深化,更重要的是有了实战进行项目开发锻炼动手能力的机会,积累了一笔宝贵的经验。实训虽已结束,但我们的不断学习的征途才刚刚迈出第一步。今后的路还很长,还有很多机会去实习提高,我们要以更加积极的姿态去充实自己,学习,不断地迎接挑战。

软件二班xxx

扩展阅读:java实训总结

JAVA程序设计

业:班级:姓名:项目名称:开始时间:完成时间:指导教师:实训地点:评分成绩:综合实训

________计算机软件______

_______06软件(一)班___________________蒋俊涛______________《计事本》___201*年1月7日_____201*年1月11日___叶老师14#2机房_______________________

1

一、实训目的

java程序设计是计算机软件的专业核心课程,而且java也是当前软件市场上较流行和功能很好的一种软件开发语言。经过这个学期的学习后,能不能把学习的知识综合串联起来,java的实训项目的制作可以有效的检验这一点。进行综合项目实训可以练习java软件开发的环境和配置,能够把java的面向对象技术、数据结构、图形界面、线程、网络知识、小应用程序等知识运用到实践中去,从而更好地理解java的各项知识,达到能够应用自如的地步。进行实训的同时还需要查阅大量的文档,可以锻炼同学的自学能力。

二、实训内容

每个同学完成一个小项目,小项目的选题可以从规定题目中,也可以自己定题目。建议选做的题目如下:

1、画图软件。要求:能够使用菜单功能完成基本图形的绘制(画圆、直线等),能够画较复杂的图形(如房子),能够有橡皮擦、改变画笔粗细等功能。

2、记事本。仿照windows下的记事本,要求:能够读写文件,文件内容的复制、剪切和粘贴,能够设置字体的大小和颜色。

3、计算器。仿照windows下的计算器能够完成基本的计算任务,能够完成平方、开方、求余等一些特殊的运算。

4、万年历。要求:能够查阅农历、阳历和星期。

5、拼图游戏。能够完成拼图游戏,能够设置游戏的级别和时间,记录游戏用户的成绩。6、扫雷游戏。模仿windows下的扫雷游戏。

7、英汉词典。要求:能够进行英汉单词的互译,进行英语单词的记忆训练以及一些简单句子的翻译。

8、设计一个俄罗斯方块的游戏。

9、设计一个简单的聊天软件。要求:注册和登陆功能,客户端能够进行通信。10、动态时钟的制作。要求:仿照手表制作一个时钟。

每个同学也可以自己选择一个题目,要求不能抄袭他人作品,独立完成任务。

三、课程设计项目内容和简介(在此填入项目名称和进行项目设计的背景及简单介绍)

四、系统环境(开发、运行的硬件环境和软件环境)

操作系统:windows201*;内存:256M;

Cpu:InterCeleron1G;JDK版本:1.5;

五、进度计划及执行情况

日期201*-1-7任务安排了解计事本的基本功能,并实现基本的框架功能实现方法调试结果错误原因分析改正情况日期201*-1-8功能实现方法调试结果错误原因分析改正情况对文件可以进行正确的读写。刚开始进行文件读写操作时,用的是字节流,读出来的都是乱码。数据的流使用错了。使用了字符流解决了问题任务安排实现文件的打开和保存功能文件的打开和保存功能执行情况对文件进行正确的读写经过查API函数。在JScrollPane中添加文本域控件。在将JScollPane解决了问题。最后程序能正常运行遇到的问题是:在开始时,文本域控件JText没有滚动条进行了整个窗口的布局执行情况基本框架搭建好了日期201*-1-9功能实现方法调试结果错误原因分析改正情况日期201*-1-10功能实现方法调试结果错误原因分析改正情况日期201*-1-11任务安排实现字体风格的保存,保证打开后,能保持原来的风格。功能实现方法调试结果错误原因分析将字体风格保存到另一个文件中,打开文本时,也同时读取该文件,重新进行字体的设置。遇到过的一次错误是,颜色不能正常显示,改进过,后来程序可以实现文本打开后字体维持原状。错误的使用颜色的函数执行情况功能已经实现有待改进可以进行查找和替换还有点功能上的欠缺查找到到最后一个时。不能返回重新查找任务安排实现查找和替换功能应用的是String常用的几个方法执行情况可以正确进行查找和替换在新建后可以解决该问题可以对字体的字体,字号,还有字体颜色进行相关设置,新建文件后,原来的字体颜色还保留着在新建时没有进行颜色的设置任务安排实现字体风格和小的设置执行情况可以对字体进行正确设置字体名是调用系统的,字号用的是8-99号字,颜色调用java的颜色面板改正情况已经没有问题,可以正常显示颜色。六、程序清单

importjava.awt.*;

importjava.awt.event.*;importjava.io.*;

importjava.awt.GraphicsEnvironment;importjavax.swing.*;importjava.util.*;

importjava.awt.Graphics;

classMyTextPadextendsFrameimplementsActionListener{

JTextAreatext;JScrollPanejsp;PopupMenupopm;

Datedate=newDate();Stringstr="";Dialogd,About;Choicec1,c2,c3;Buttonbtn1,btn2;

StringStr1="宋体",Str2="普通",Str3="15";inttemp=0;

intRed=0,Green=0,Blue=0;

LabellFind=newLabel("查找字符串:");LabellReplace=newLabel("替换字符串:");TextFieldtFind=newTextField(10);TextFieldtReplace=newTextField(10);ButtonbFind=newButton("查找");ButtonbReplace=newButton("替换");

ButtonbReplaceAll=newButton("替换所有");Dialogdialog;DialogfindD;

publicMyTextPad(Stringstr){

super(str);

text=newJTextArea();

text.setFont(newFont("宋体",0,15));jsp=newJScrollPane(text);add("Center",jsp);

findD=newDialog(this);

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

dispose();}});

d=newDialog(this,"字体选择");d.setBounds(150,150,320,200);

findD.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

findD.setVisible(false);}}

);

d.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

d.setVisible(false);}}

);

c1=newChoice();c2=newChoice();c3=newChoice();GraphicsEnvironment

ge=GraphicsEnvironment.getLocalGraphicsEnvironment();

StringfontName[]=ge.getAvailableFontFamilyNames();for(inti=0;ip1.add(c3);

btn1=newButton("确定");btn2=newButton("取消");

d.setLayout(newGridLayout(5,3));d.add(p1);p2.add(btn1);

btn1.addActionListener(this);btn2.addActionListener(this);p2.add(btn2);d.add(p2);

About=newDialog(this,"关于");

About.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

About.setVisible(false);}}

);

About.setBounds(300,300,150,150);

About.add(newLabel("蒋俊涛的计事体1.0版本"));Menumn=newMenu("文件");MenuItemmiNewFile=newMenuItem("新MenuShortcut(KeyEvent.VK_N));MenuItemmiOpenFile=newMenuItem("打MenuShortcut(KeyEvent.VK_O));MenuItemmiSaveFile=newMenuItem("保MenuShortcut(KeyEvent.VK_S));MenuItemmiExit=newMenuItem("退MenuShortcut(KeyEvent.VK_E));mn.add(miNewFile);mn.add(miOpenFile);mn.add(miSaveFile);mn.addSeparator();mn.add(miExit);

miNewFile.addActionListener(this);miOpenFile.addActionListener(this);miSaveFile.addActionListener(this);miExit.addActionListener(this);Menumn1=newMenu("编辑");MenuItemmiSelectAll=newMenuItem("全MenuShortcut(KeyEvent.VK_P));MenuItemmiClear=newMenuItem("清MenuShortcut(KeyEvent.VK_S));

7

建",new开",new存",new",new

选",new空",new

出MenuItemmiCopy=newMenuItem("复制MenuShortcut(KeyEvent.VK_C));MenuItemmiPaste=newMenuItem("粘贴MenuShortcut(KeyEvent.VK_V));MenuItemmiCut=newMenuItem("剪切MenuShortcut(KeyEvent.VK_T));MenuItemmiFind=newMenuItem("查找MenuShortcut(KeyEvent.VK_D));MenuItemmiReplace=newMenuItem("替换",new",new",new",new",new

MenuShortcut(KeyEvent.VK_R));

MenuItemmiAuto=newMenuItem("自动换行");miAuto.addActionListener(this);mn1.add(miSelectAll);mn1.add(miClear);mn1.add(miCopy);mn1.add(miPaste);mn1.add(miCut);mn1.addSeparator();mn1.add(miFind);mn1.add(miReplace);mn1.add(miAuto);

miSelectAll.addActionListener(this);miClear.addActionListener(this);miCopy.addActionListener(this);miPaste.addActionListener(this);miCut.addActionListener(this);miFind.addActionListener(this);miReplace.addActionListener(this);Menumn2=newMenu("格式");MenuItemmiFont=newMenuItem("MenuShortcut(KeyEvent.VK_F));

MenuItemmiColor=newMenuItem("颜MenuShortcut(KeyEvent.VK_K));

MenuItemmiTime=newMenuItem("插MenuShortcut(KeyEvent.VK_T));

miFont.addActionListener(this);miColor.addActionListener(this);miTime.addActionListener(this);mn2.add(miFont);mn2.add(miColor);mn2.add(miTime);

Menumn3=newMenu("帮助");MenuItemmiAbout=newMenuItem("MenuShortcut(KeyEvent.VK_A));

8

字体色选择入时间关于",new",new",new

",newmiAbout.addActionListener(this);mn3.add(miAbout);

FileDialogfindDlg=newFileDialog(this);Panelp5=newPanel();Panelp6=newPanel();Panelp7=newPanel();p7.setLayout(newGridLayout(1,2,30,30));p5.add(lFind);p5.add(tFind);p5.add(bFind);tFind.addActionListener(this);bFind.addActionListener(this);p6.add(lReplace);p6.add(tReplace);p7.add(bReplace);p7.add(bReplaceAll);p6.add(p7);

tReplace.addActionListener(this);

bReplace.addActionListener(this);bReplaceAll.addActionListener(this);findD.setLayout(newGridLayout(2,1,10,10));findD.setResizable(false);findD.add(p5);findD.add(p6);

findD.setBounds(100,100,260,190);//弹出PopupMenu

popm=newPopupMenu();

MenuItemOpenFile=newMenuItem("打开");MenuItemSaveFile=newMenuItem("保存");MenuItemSelectAll=newMenuItem("全选");MenuItemCopy=newMenuItem("复制");MenuItemPaste=newMenuItem("粘贴");MenuItemCut=newMenuItem("剪切");OpenFile.addActionListener(this);SaveFile.addActionListener(this);SelectAll.addActionListener(this);Copy.addActionListener(this);Paste.addActionListener(this);Cut.addActionListener(this);popm.add(OpenFile);popm.add(SaveFile);popm.add(SelectAll);popm.add(Copy);popm.add(Paste);popm.add(Cut);text.add(popm);

text.addMouseListener(newMyMouseEvent(this));MenuBarBar=newMenuBar();Bar.add(mn);Bar.add(mn1);Bar.add(mn2);

Bar.add(mn3);setMenuBar(Bar);setSize(800,600);setVisible(true);}

classMyMouseEventextendsMouseAdapter{

MyTextPadmyParentFrame;MyMouseEvent(MyTextPadmyf){

myParentFrame=myf;

}

publicvoidmouseReleased(MouseEvente){

if(e.isPopupTrigger())

myParentFrame.popm.show((Component)e.getSource(),e.getX(),e.getY());}

}

publicvoidactionPerformed(ActionEvente){

StringstrCmd=e.getActionCommand();if(strCmd.equals("新建")){

text.setFont(newFont(Str1,Font.PLAIN,15));text.setForeground(Color.black);text.setText("");}try{

if(strCmd.equals("打开")){

openFile();}

if(strCmd.equals("保存")){

saveFile();}

}catch(IOExceptione1){}if(strCmd.equals("退出")){

System.exit(0);

}

if(strCmd.equals("全选")){

text.selectAll();}

if(strCmd.equals("清空")){

text.setText("");}

if(strCmd.equals("复制")){

str=text.getSelectedText();}

if(strCmd.equals("粘贴")){

text.insert(str,text.getCaretPosition());}

if(strCmd.equals("剪切")){

str=text.getSelectedText();

text.replaceRange("",text.getSelectionStart(),text.getSelectionEnd());

}

if(strCmd.equals("字体")){

d.setVisible(true);}

if(strCmd.equals("颜色选择")){

Colorc=JColorChooser.showDialog(this,"颜色选择",Color.black);

text.setForeground(c);Red=c.getRed();Green=c.getGreen();Blue=c.getBlue();}

if(e.getSource()==tFind||e.getSource()==bFind){

find();return;}

if(e.getSource()==tReplace||e.getSource()==bReplace){

text.requestFocus();

Strings1=tReplace.getText();if

(text.getSelectedText().equals(tFind.getText())){

intstart=text.getSelectionStart();text.replaceRange(s1,text.getSelectionStart(),text.getSelectionEnd());

text.select(start,start+s1.length());}else

find();return;}

if(e.getSource()==bReplaceAll){

text.requestFocus();

Strings1=tReplace.getText();str=text.getText();

StringstrFind=tFind.getText();intstart=0;

intend=str.length();

intlen=strFind.length();intcount=0;

if(start找到!","替换提示",JOptionPane.YES_NO_OPTION);else

JOptionPane.showConfirmDialog(findD,"共替换字符"+count+"个.","替换提示",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);return;}

if(strCmd.equals("查找")){findD.setVisible(true);}

if(strCmd.equals("替换")){

findD.setVisible(true);}

if(strCmd.equals("插入时间")){

text.setText(text.getText()+date);}

if(strCmd.equals("确定")){

Strings1="",s2="",s3="";ints;

s1=c1.getSelectedItem();Str1=s1;

System.out.print(s1);s2=c2.getSelectedItem();if(s2.equals("粗体"))s=1;

elseif(s2.equals("斜体"))s=2;

elseif(s2.equals("粗体与斜体"))s=3;elses=0;Str2=s2;

s3=c3.getSelectedItem();

text.setFont(newFont(s1,s,Integer.parseInt(s3)));Str3=s3;

d.setVisible(false);}

if(strCmd.equals("取消")){

d.setVisible(false);}

if(strCmd.equals("关于")){

About.setVisible(true);}

if(strCmd.equals("自动换行")){

text.setLineWrap(true);}}

publicvoidopenFile()throwsIOException{

Stringstr1="",str2="",string="";intn=0;Colorc;

FileDialogfd=newFileDialog(this,"打开对话框",FileDialog.LOAD);

fd.setVisible(true);

Filefile=newFile(fd.getDirectory()+fd.getFile());

str1=(fd.getFile()).substring(0,(fd.getFile()).length()-4);FilefStyle=newFile(fd.getDirectory()+str1+".css");FileReaderfileReader=newFileReader(fStyle);

BufferedReaderbr=newBufferedReader(fileReader,4096);while((str2=br.readLine())!=null){

string+=str2;

}

br.close();

System.out.println(string);

StringTokenizerstr3=newStringTokenizer(string,"/");String[]str4=newString[6];while(str3.hasMoreTokens()){

str4[n]=str3.nextToken();n++;}

System.out.print(str4[0]);Str1=str4[0];Str2=str4[1];Str3=str4[2];

Red=Integer.parseInt(str4[3]);Green=Integer.parseInt(str4[4]);Blue=Integer.parseInt(str4[5]);c=newColor(Red,Green,Blue);

text.setForeground(c);if(Str2.equals("粗体")){

temp=1;}

if(Str2.equals("斜体")){

temp=2;}

if(Str2.equals("粗体与斜体")){

temp=3;}

if(Str2.equals("普通")){

temp=0;}

FileReaderfr=newFileReader(file);

BufferedReaderbufr=newBufferedReader(fr,4096);text.setText("");Stringtexts="",s;

while((s=bufr.readLine())!=null){

text.setFont(newFont(Str1,temp,Integer.parseInt(Str3)));texts+=s+"\\n";}

text.setText(texts);bufr.close();}

publicvoidsaveFile()throwsIOException{

FileDialogfd=newFileDialog(this,"保存对话框",FileDialog.SAVE);

fd.setVisible(true);

Filefile=newFile(fd.getDirectory()+fd.getFile()+".txt");FilefileStyle=newFile(fd.getDirectory()+fd.getFile()+".css");fileStyle.createNewFile();

FileWriterfw=newFileWriter(file);

BufferedWriterbufw=newBufferedWriter(fw);FileWriterfstyle=newFileWriter(fileStyle);BufferedWriterbufw2=newBufferedWriter(fstyle);String

temp="/"+Str1+"/"+Str2+"/"+Str3+"/"+Red+"/"+Green+"/"+Blue+"/";

bufw2.write(temp,0,temp.length());bufw2.flush();bufw2.close();

Strings=text.getText();bufw.write(s,0,s.length());bufw.flush();bufw.close();}

publicvoidfind(){

text.requestFocus();str=text.getText();

StringstrFind=tFind.getText();intend=str.length();

intlen=strFind.length();

intstart=text.getSelectionEnd();if(start==end)start=0;

for(;start

七、综合实训总结文章(不少于1000字)

Java实训感想

通过一周的实训,虽然实训的时间不长,但是总体上收获是很大的,我们的java课程学到的只是java和皮毛,一开始我还没有信心完成。后来看到书到有一个关于计事本的小例子,我仔细看了之后。对计事本有了一个大体的了解,在初训的实候知道自己应该做一个什么样的计事本了,在实训的过程中也遇到了不少困难,通过查API文档和看书,解决了问题,在写到字符的查找的替换时后,用到了上课时学到的知识,对字体的风格的保存里面的颜色分离和还原方法,是通过查API文档获得的,现在我所写的计事本只实现在一些基本功能。简单的复制粘贴,字体风格的设置,还有就是查找和替换功能以及一些字体风格的保存.对文件的操作基本都用到了。

在实现记事本的功能过程中,也不是很顺利,基本的文件读写和保存文档的复制、粘贴、删除等功能还比较容易实现,但如何改变字体、字体颜色和背景颜色,就比较麻烦了,要实现字体颜色和背景颜色,首先要调用系统的调色板,再进行设置。但如何调用系统调色板?我是通过查阅帮助文档来找到其调用方法的。像自动换行、设置字体等都是通过方法来调用,给相关事件加上监听,在进行响应事件。整个程序中方法才是最关键的,也是最困难的。所以像查找、替换、转到几个功能我都不知道用什么方法,也由于时间有限,没有完成其功能。总体的感觉是对java有了一个全新的认识,现在感觉用java做小的图形用户程序有些缺陷,但是在其的应用方面。尤其是有网络方面的应用,在整个实训我也尝试过做一个小的画图软件。但是由于时间关系还有一个是自身的知识的欠缺,最终这个事情被搁浅下来了。最后还是进行计事本的编写。由于在做画图软件时花了不了时间,所以现在的计事本的功能不是很全,如果有更多的时间,我会把这个记事体再完善一下,再把画图软件也做出来。实训的时间不长,但是我会在课外把它们的功能完善。然后再学习一下java和网络的编程,体验java的前沿技术。

在学习的过程中也体会到,遇到问题也要请教。不然的话自己一个人去做的话会花很多的时间,我在做这个记事本的时间,其中也问到过许多问题,通过同学的帮助下解决了,提高了程序的开发进程。其他的同学有问题的话我也是给他们尽量解决。我认为学习知识的过程当中就应该是相互学习相互进步的。Java是面在的主流技术我会努力将它学好,现在我缺乏的是坚持不懈的精神,周贤军给了我很大的影响,我会向他学习,虽然学习java的路还很找,但我会继续走下去。

友情提示:本文中关于《java实训收获总结》给出的范例仅供您参考拓展思维使用,java实训收获总结:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


java实训收获总结
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/446122.html
相关阅读
最近更新
推荐专题