- 博客(12)
- 收藏
- 关注
原创 数据库的基本操作以及与服务器的连接和使用
MySQL数据库关系型数据库是目前最受欢迎的数据库管理系统,技术比较成熟,常见的关系型数据库有mysql 、SQL Server、Oracle、Sybase、DB2等。MySQL是目前最受欢迎开源的SQL数据库管理系统,与其他的大型数据库Oracle、DB2、SQL Server等相比,MySQL虽然有它的不足之处,但丝毫也没有减少它受欢迎的程度。对于个人或中小型企业来说,MySQL的功能已经够...
2018-11-27 00:00:35 7781
原创 多线程游戏(飞机大战)的设计与实现
游戏框架设计在做一个飞机大战前,我们首先要确定我们需要建几个类,这里我们为飞机,子弹,物品建了类。因为它们有自己的属性和方法,方便重复创建对象并区分。飞机大战的窗体界面和监听器是必不可少的类,然后为了画面的重绘以及图像的绘制,我们专门创建了一个类继承容器,在这个类上写程序来确定如何去画这个游戏界面,最后我们还为子弹,飞机,背景分别创建了线程类,来控制他们参数(比如坐标)的修改。游戏规则:1、...
2018-11-26 09:01:28 2636 1
原创 哲学家就餐问题解决方案(java)
什么是哲学家就餐问题哲学家就餐问题是计算机科学中的一个经典问题,用于演示在并行计算中多线程同步时产生的问题。题目要求是:五位哲学家围着一张桌子而坐,他们不交谈,每人面前放了一碗饭,每两个人之间放了一只筷子(总共五只筷子)。哲学家只能做两件事,吃饭和思考,吃饭的时候不思考,思考的时候不吃饭。哲学家只有拿起自己身边的两只筷子才能吃饭,拿筷子的顺序是先拿左手再拿右手(不同时)。题目分析因为哲学家之...
2018-11-16 21:49:07 5031 3
原创 线程同步中wait()和notify()的使用(用生产者消费者模式解释)
wait()和notify()是什么虽然我们一般在多线程中使用wait和notify的方法,但其实它们是不属于Thread类的,他们是Object类中的方法,我们先来看一下API中的解释:1、notify():唤醒在此对象监视器上等待的单个线程。2、notifyAll():唤醒在此对象监视器上等待的所有线程。3、wait():在其他线程调用此对象的 notify() 方法或 notifyA...
2018-11-16 14:21:40 564
原创 无重复字符的最长子串java实现
解题思路首先把字符串转为字符串数组,这样就可以逐一进行判断。为了降低算法的时间复杂度,我们使用LinkedList来存储数据,这样我们只要遍历字符串数组一遍就可以输出结果。逐一判断,一旦遇到在链表中不存在的字符,就加入链表,若在链表中已存在,则把链表中的第一个遇到的相同字符及其之前的字符删除,在这个过程中更新最长子串长度。LinkedList本体用到了LinkedList的几个方法,我们来简...
2018-11-14 16:11:47 462
原创 java小游戏数据的TXT存取
这里我为一个java小游戏“飞机大战”添加一个数据的存取,存取的对象是txt文档。要实现的是:当游戏结束的时候,屏幕上弹出提示窗口,显示本局得分,历史最高分,排名这些信息。需要历史排名自然需要历史数据,txt文档是保存数据简单可行的一种方法,下面我们来具体介绍如何把txt内的数据取出并存到数组,对数组进行分析处理后再存回txt文档。BufferedReader的使用我们使用IO流来存取数据,需...
2018-11-14 00:48:33 2050 4
原创 java图片RGB转数组及特效处理
图片转数组java中有drawLine的功能,当drawLine的起始点和终止点在同一点时,画出来的就是一个点,当你通过setColor的方法为其赋予颜色时,它画到屏幕上就是一个有颜色的像素点了,当你画出很多的点,便可以组成一幅图片了。获取图片数据的方法就是以二维数组的形式获取图片上点的RGB并保存起来,当你要画的时候,只要遍历数组然后取出颜色画到屏幕上即可。所以,如果我们要处理图片,并为其加上...
2018-11-13 23:39:25 2171 1
原创 线程与多线程
什么是线程线程是程序执行流的最小单元,也是进程运行中的一个实体,它是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。...
2018-11-11 14:37:48 136
原创 Socket通信实现服务器和客户端对话
广域网和局域网介绍socket通信前我们先介绍一下广域网与局域网的概念。局域网简称LAN,是指在某一区域几台计算机组成的计算机组,局域网是封闭的,局域网经常采用共享信道,即共用同一条电缆。广域网简称WAN,是一种跨越大的,地域性的地区性网络集合广域网包含大大小小不同的子网,可以是局域网,也可以是小型的广域网。广域网为每个单元分配IP地址,局域网也会其单元分配IP地址,这两个IP地址互不干扰,一个...
2018-11-10 15:29:37 1645
原创 ArrayList和数组的优缺点比较
ArrayList通俗来说就是一个动态的数组,它可以动态地增加和减少元素,实现了ICollection和IList接口。相比数组,有很大的优势。我们先来看一下数组的定义及使用,再看看ArrayList,观察一下它们的优缺点。 private Shape[] arrayshape = new Shape[250]; public void setShape(int x1, int y1...
2018-11-05 02:02:53 4542
原创 java实现小球的碰撞
这次我们做一个小球的碰撞的游戏,规则是:按下添加按钮,窗口的中心部分会产生一个小球(刚开始默认为黑色),四个方向随机产生,发射小球,再次按下即产生两个小球。当小球碰到窗体边缘的时候会产生反弹,当两个小球接触时会产生碰撞,双方交换速度,向相反方向移动。我们可以选择相应的颜色来改变下一个发射的小球颜色。当按下清除可以清除屏幕上的小球,当按下添加则会继续产生小球。最后我们还添加了自动产生小球的功能,按下...
2018-11-03 00:29:01 6335 1
原创 五子棋AI程序设计
最近做了一个简单的五子棋游戏,其中涉及到界面的布局设计,以及简单的AI算法的应用。我创建了五个类。1、public class ChessJpanel extends JPanel implements Config:这个类中我主要写棋盘的设计以及画面的还原代码。2、public interface Config:写了一个接口,其中主要是关于棋盘内棋子,网格等尺寸的参数的保存,一般也在此处修...
2018-11-02 01:53:14 1437 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人