java实习报告

时间:2024.4.13

JAVA生产实习报告

  经过一学年JAVA课程的学习,在这个学期末我们迎来了为期十天的实习。计算机是一门实践性极强的学科,这次在北京达内科技有限公司的实习对于检验我们对知识掌握程度及知识运用于实践中的能力起到极其重要的作用。

一 实习目的

(1) 复习巩固J2SE等基本JAVA知识。

(2) 利用所学的J2SE基本知识完成简单的小项目。

(3) 了解掌握HTML、JSP等基本知识。

(4) 利用所学的HTML、JSP等基本知识制作网页。

(5) 了解掌握J2EE等基本知识。

(6) 综合所学的所有知识完成‘‘网页版五子棋’‘综合项目。

二 实习内容

(一)      J2SE基础知识。

1   基本数据类型介绍。掌握int、float、double、 char 、String、 boolean等基本数据类型的用法极其注意事项。

2   基本运算符的介绍。

3   基本句型的介绍。掌握if语句,if···else语句及while,do···while等基本语句的用法。

4   数组用法的介绍。学会数组的扩容等重要应用。

5   通过所学的基础知识完成以下小项目。

(1)实现数组的扩容

实现步骤:

1)   创建newArray 注意长度。

2)   遍历oldArray 给newArray的每个位置的元素赋值。

3)   给最后一位赋值。

4)   更改数组引用。

(2)条码验证

实现步骤:

1)   拿到前12位。

2)   取出该字符串的奇数和。

3)   取出该字符串的偶数和。

4)   将奇数和与偶数和的三倍相加。

5)   取结果的个位数 (%10)。

6)   用10减去这个数。

7)   对得到的数再取个位数。

(二)      面向对象编程

   1 掌握面向对象的基本概念。

   2继承与多态的知识介绍。掌握继承及多态的相关知识。

   3 类依赖关系的介绍。掌握类依赖在实际编程中的应用。

   4 通过实际面向对象的小项目理解掌握面相对象的核心思想。

  (1)通过CPU与电脑的关系编程了解类之间的依赖关系。

  源代码:

   publicclass CPU {

    String cNO;

    String cName;

    public CPU() {

     }

}

  publicclass TestComputer {

    publicstaticvoid main(String[] args) {

       CPU cpu = new CPU();

       cpu.cNO="cpu1";

       cpu.cName="a cpu";

       Computer c = new Computer();

       c.NO="computer1";

       c.name="Administrator";

       c.cpu=cpu;

       //通过电脑 获得该电脑cpu的编号

       String cNo = c.cpu.cNO;

       System.out.println(cNo);

    }

}

(2)通过父类 

Shape{

    Point p;  //定位点

    area();   //求面积

}

编写Circle{

    r;     //半径

    contains(Point p)  //是否包含此点

    area()

}

Rect{

    double width;

    double height;

    area()

} 

等图形类来掌握了解继承与多态的知识。

(3) 通过“三人斗地主”的项目的部分功能整合之前所学的数组、基本语句、及面向对象等知识。检验知识的综合运用能力。

(三) 集合知识的介绍

1  ArrayList集合的基本知识。ArrayList通过add方法来增加、插入元素,通过remove方法来删除元素,通常使用泛型<>来规范集合中的数据类型。

2  Set集合的基本知识。Set通过add方法来增加、插入元素,通过remove方法来删除元素,通常使用泛型<>来规范集合中的数据类型以及使用Iterator接口遍历集合。

3  Map集合的基本知识。Map集合的泛型,例如:HashMap<Integer,String> maps = new HashMap<Integer,String>()。Map集合通过put()方法来添加元素、修改集合值,通过get()方法获取其对应的value值,通过remove方法删除对应的值,通过size()方法获取集合的大小等等。

4  通过对集合知识的了解学习通过“打印版贪吃蛇”小项目来对所学知识进行巩固。

(四)涉及J2EE的基本知识

 HTML及CSS的基本知识。掌握HTML的段落标签<p></p>,表格<table></table>等一些基本标签的用法;学会使用DIV来进行简单的网页布局,掌握CSS选择器,及内边距、外边距基本概念,通过CSS来进行文字属性的设置,边框的设置等,从而对网页进行美化。

 WEB项目的基础知识。进行Tomcat的配置,完成Web.xml文件的配置,通过对J2EE知识的学习完成简单的WEB项目。

3  通过在浏览器中显示3个div宽,高一定,颜色从指定颜色中随机产生来对web及html,css知识进行综合运用与检验。

import java.io.PrintWriter;

import java.util.Random;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ColorDivServlet extends HttpServlet {

    public void service(HttpServletRequest request,

           HttpServletResponse response)

           throws ServletException, IOException {

       PrintWriter out = response.getWriter();

       out.println("<html>");

       out.println("<body>");

       String[] colors =

           {"red","yellow","blue","green","black"};

       Random random = new Random();

       for(int i=0; i<3; i++){

           int index = random.nextInt(colors.length);

           String color = colors[index];

           out.println("<div style='background-color:"

                     +color +

                      ";width:120px; height:120px;'></div>");

       }

       out.println("</body>");

       out.println("</html>");

       out.close();

    }

}

(五)网页版五子棋项目

1  进行项目分析。通过项目分析确定项目中涉及的实体,其中有房间、人、棋盘、棋子实体类,确定各个实体类中涉及的属性和方法。通过确定实体来进行下一步的项目制作。

2  进行实体类的创建。通过分析确定实体类中的属性和方法来进行创建实体类。例如:房间类中涉及房间号,房间名,进入房间的人,棋局属性;涉及除构造方法外还有属性的get set方法以及判断人满,添加房间的方法等。所以Room类创建如下:

public class Room {

    private int roomId;         //房间号

    private String name;        //房间名

    private Player p1;          //进入房间的玩家

    private Player p2;

    private ChessBoard chessBoard;  //房间中的棋盘

    public Room() {

       //构造方法

       chessBoard = new ChessBoard();

    }

    public Room(int roomId, String name, Player p1) {

       //构造方法的重载

       this.roomId = roomId;

       this.name = name;

       this.p1 = p1;

       chessBoard = new ChessBoard();

    }

    //添加方法isFull() 判断是否人满

    public boolean isFull(){

       return p1!=null && p2!=null;

    }

    //添加玩家方法

    public void addPlayer(Player player) {

       this.p2 = player;

    }

    public Player getP1() {

       return p1;

    }

    public void setP1(Player p1) {

       this.p1 = p1;

    }

    public Player getP2() { return p2; }

    public void setP2(Player p2) {

       this.p2 = p2;

    }

    public ChessBoard getChessBoard() {

       return chessBoard;

    }

    public void setChessBoard(ChessBoard chessBoard) {

       this.chessBoard = chessBoard;

    }

   

    public int getRoomId() {

       return roomId;

    }

    public void setRoomId(int roomId) {

       this.roomId = roomId;

    }

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

    //覆盖toString

    public String toString() {

       return roomId+":"+

              name +"["+p1+", "+p2+"]";

    }

    //覆盖equals

    public boolean equals(Object obj) {

       if(obj==null)

           return false;

       if(obj==this)

           return true;

       if (obj instanceof Room) {

           Room other = (Room) obj;

           return this.roomId == other.roomId;

       }

       return false;

    }

}

 通过HTML/CSS,JSP知识的学习创建登录界面index.jap,进入房间界面inRoom.jsp,显示下棋的界面showRoom.jap。并通过<meta http-equiv="refresh" content="5"/>方法实现网页每隔5秒钟自动刷新页面一次。

4 通过控制逻辑的创建来实现类与界面交互。例如处理创建房间的逻辑书写如下:

   //处理创建房间的逻辑

    private void createRoom(HttpServletRequest request,

           HttpServletResponse response)

           throws ServletException, IOException{

       //从request中取得参数

       String nickname=request.getParameter("nickname");

       Player p1 = new Player(nickname,

                            ChessPiece.BLACK);

       //处理线程并发问题

       Room room=null;

       synchronized (this) {

           room = new Room(index++, "求虐!", p1);

           rooms.put(room.getRoomId(), room);

       }

       //让浏览器访问一次chessing.do请求

       response.sendRedirect(

              "chessing.do?roomId="+room.getRoomId()

              +"&nickname="+nickname);

    }

5 xml文件的配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <servlet>

    <servlet-name>action</servlet-name>

    <servlet-class>com.tarena.chess.controller.ActionServlet</servlet-class>

    </servlet>

    <servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern>

    </servlet-mapping>

</web-app>

三 参考资料

《Java入门与实战教程》 杨志茹 温尚书 著 人民邮电出版社

《网页艺术设计》  梁日升 杨杰 著 机械工业出版社

《Java Web开发技术教程》  张娜 著  清华大学出版社

四 实习总结

  伴着这学期的尾声,我们迎来了为期十天的北京达内科技有限公司的实习。对于实习,我们充满期待,因为实习不仅可以检验我们将理论知识应用于实践的能力,而且可以让我们发现不足进行完善。

  计算机是一门实践性极强的学科,因此,对于实习每个同学都很珍惜这次机会,明确了这次北行的目的。从开营,大家积极参与,对于自己的小组划分,每个人都尽心尽力。从开始实习,大家都认真听讲,积极讨论问题;从项目的开始实施制作,每位成员都积极完成自己的任务······转眼实习结束,这些画面历历在目,仿佛还停留在昨天。

  在实习中,严格要求自己,对于老师讲的每个知识点,自己都弄的彻底明白。在遇到难点时,自己积极联合小组成员进行探讨,每个人都以饱满的态度融入到这个团体,因此每个人的学习热情高涨,自己的学习积极性变得主动,效率也得以提高。通过这样的实习,自己意识到,并不是自己一个人在独自战斗,在我们面前而是一个团体,每个人都是不可分割的一员。

  就这样紧张的实习拉开帷幕,每天都是忙碌的身影,对于所学知识进行不断强化,循序渐进,每个知识点都通过一个小项目来进行强化,自己独立完成。对于自己解决不了的问题,小组积极讨论,充分发挥团队作用。在互相讨论中增进了了解,不仅增长自己的知识,融入其中,而且也发现自身的不足,便于自己做出调整,不断弥补自己的不足,提高自己,提高团队的战斗力。

  在实习中,公司设置了模拟面试的环节,通过模拟面试使我们体会了面试的场景。在面试中,自己看到了不足与差距,从而更加激发自己去努力做的更好。面试完毕,老师对每个同学进行点评,并且提出针对每个同学的良好建议。这样的环节对于我们将来就业面试起到了很好的知道作用。

  在进行了多天的储备知识学习后,我们开展了“网页版五子棋”项目的制作。在项目进行过程中,综合了之前的所有知识,通过不断努力终于完成了这个项目。虽然项目中存在一些问题,但依旧很高兴。在程序调试过程中自己遇到了不少问题,但并没有慌张,首先自己尽力解决自己能力范围内的问题,自己解决不了的通过团队,老师的帮助得以解决。通过项目制作,发现自身不少问题,例如:知识的综合运用能力,逻辑处理问题等。这都是自己的不足之处,需努力学习改进。同时也体会到细心在实际工作中的重要性,因为存心而拼写错一个单词都会对整个项目带来很大的影响,从而导致项目不成功。

  实习的日虽然短暂,但收获颇多。首先,计算机是实践性极强的学科,为此我们只有不断实践才能有所收获,有所体会,才能收获到书本上没有的知识与体会;其次,在计算机这个行业中,在战斗的永远不是自己,而是一个团队在与你并肩战斗,为此我们必须具有一个良好的团队意识,只有这样我们才能以这样最快的速度融入团队,发挥自己,发挥团队的力量;再者,在项目制作中,我们必须具有良好的好沟通能力,这样才能增进成员之间的相互交流,增加彼此了解,发现自身不足,并进行改进,从而以高效率的姿态推进团队的成长;最后,在项目调试中,发现细心,耐心是我们必须具有的品质。不管事情多么渺小,我们都应该以细心的姿态来对待,细心可以避免那些不必要的麻烦;最好的品质莫过于坚持,因此耐心也是我们必须具有的。在程序调试过程中,只有耐心钻研,才能发现问题,解决问题。只有以稳定的姿态去发现问题解决问题,在这样不断学习中才能不断有新的收获与成长。

  最后,在这里向实习公司说声“谢谢!”,向指导我们完成实习的老师说声“您辛苦了,谢谢!”,向提供帮助的同学说声“谢谢!”。

五 指导教师评语及签字

   

更多相关推荐:
java实训报告模板

辽宁建筑职业学院Java高级应用实训报告课题名称婚庆公司网站专业软件技术班级xxxxxxxxxx学号姓名xxxx指导教师xxx二O一三年十二月三十日成绩评定标准1目录一课程设计目的32二课程设计题目描述和要求3...

java实习报告模板

新疆农业职业技术学院《Java程序设计》教学实习报告部门:信息技术分院专业:班级:姓名:指导教师:徐玉莲《Java程序设计》教学实习报告一、实习时间:年月日至年月日二、实习地点:三、实习目的1、掌握搭建Java…

java实习报告

设计地点:软件三机房专业:计算机网络技术指导教师:***班级:20XX级计网班设计:***设计时间:20XX.12.31-20XX.1.13目录第一章概论1第一节设计目的1第二节设计要求1第三节设计任务1第二章…

java 实习报告

石家庄学院实习报告姓名学号院系专业班级指导教师教师职称王荣传20xx05020xx数学与信息科学系信息与计算科学20xx级本科1班崔永刚讲师实习基本情况石家庄中信联信实习单位息技术有限公司实习时间20xx年2月...

java实习报告

石家庄学院习报告王荣传20xx0502027数学与信息科学系信息与计算科学专业本科一班崔永刚讲师姓名:学号:院系:专业:班级:指导教师:教师职称:实习基本情况河北中信联信息技术有实习单位:限公司实习时间:201…

java实习总结报告

java实习总结报告,内容附图。

Java培训实习报告

毕业实习实习名称:实习时间:学生姓名:学院名称:专业名称:班级名称:学号:指导教师:20xx03/04-20xx04/05董莹电子与信息技术学院电子信息工程电子0901120xx3102072张欣贺实习时间:2…

java实训报告模板

软件学院实训报告实训项目班级学号姓名上课时间教师签名实训报告详细内容包括一实训每日报告113一通过这节课我学到了1通过继承线程类Thread编写线程2通过实现Runnable接口来创建线程3使用静态方法slee...

java实习报告

中原工学院信息商务学院营销103班康辉20xx04024320目录一前言21课设题目22课设目的23开发环境2二课设内容21系统功能需求22数据库需求31student学生信息表42teacher教师登录表43...

Java实习报告

滨江学院Java程序设计实习报告题目音乐播放器系统专业计算机科学与技术年级班级大二计科一班学号20xx2308003学生姓名陈家乐学期20xx20xx2任课教师陈遥音乐播放器系统1设计内容及要求能够实现简单的音...

java开发实习报告

郑州轻工业学院校外实习报告实习名称软件工程实践院系软件学院姓名张婷婷专业班级软件工程卓越计划121学号541213440156校外指导教师郭苗校内指导教师赵晓君实习单位昆山杰普软件科技有限公司成绩20xx20x...

Java实习报告

Java实习报告题目多功能计算器系别计算机信息技术系班级学号姓名时间目录第一章需求分析3第二章总体设计321系统模块结构图322系统运行流程图4第三章详细设计531界面设计模块5311功能描述5312类的设计与...

java实习报告(28篇)