`
MouseLearnJava
  • 浏览: 467230 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
本文将提供一个Swing版本的贪吃蛇游戏,游戏包括最基本的功能: 1. 用Timer来管理贪吃蛇线程。 2. 实现按钮,键盘的事件响应。 3. 随机产生食物。 4. 游戏结束的判断:蛇头触碰到蛇身或者蛇头触碰到边界。 5. 实现游戏过程中的暂停以及贪吃蛇运行速度调整。 6. … … 程序界面如下:左边是贪吃蛇运行的范围,右边暂时只有分数信息,当蛇吃到食物的时候分数加10. 暂停,调整蛇体运行速度界面如下: 主要的代码如下: package my.games.snake.model; import java.awt.Color; import java.awt.Gr ...
题目:小明过桥要一秒,小明的弟弟要三秒,小明的爸爸要六秒,小明的妈妈要八秒,小明的爷爷要十二秒。每次此桥最多可过两人,而过桥的速度,依过桥最慢者而定,可是灯在点燃后, 三十秒就会熄灭。那么,请问小明一家,如何在三十秒内过桥? 下面是个简单的实现,还没有进行代码优化,将一定时间范围内的过桥组合都打印出来 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 小明过桥要一秒,小明的弟弟要三秒,小明的爸爸要六秒,小明的妈妈要八秒 ...
在大学里,老师们的点名方式各有各的不同,不过,我印象最深的还是有一学期的英语口语课点名。 有一个学期是一个英国老师给我们上口语课。第一节课,他给我们布置了一个作业----下次上课每人带上一张1寸照。尽管不确定老师具体要用照片来干什么,不过,第二节课我们还是带上了照片。 第三次上课,有两个同学没有来。口语老师说,好像少了两个人。说完,只见他拿出一个纸板,翻过面来给我们展示了一下。大家想必想到了吧,对的,上面整齐地贴着我们的照片,照片下还有对应的英文名。外教一边浏览照片,一边看看那同学有没有到,很快没有来的同学就 找出来了。 这次之后,后面貌似没有人再逃过口语课。口语老师的这招还挺实用的。 ...
本文结合File,FileInputStream,FileRedaer以及BufferedReader的方法,将给出四个判断文件是否为空的方法: 本文包括如下三个部分: 1. 贴出File,FileInputStream,FileRedaer以及BufferedReader相应方法的源代码,了解一下。 2. 给出自己的实现。 3. 测试并给出分析结论。 File,FileInputStream,FileRedaer以及BufferedReader相应方法的源代码 /** * Returns the length of the file denoted by this ab ...
在CSDN或者ITEYE等网站上,如果直接复制代码,复制的代码中可能有多余的行标。 例如: 1.public class MyThread implements Runnable { 2. public void run() { 3. for(int i=0; i<10; i++){ 4. System.out.println(Thread.currentThread().getName()+":"+i); 5. } 6. } 7.} 8 ...
对于一个数组或者列表或者集合的元素进行排序是一个比较常用的需求。现有的Java类库也提供了API来实现这样的功能,比如Arrays.sort以及Collections.sort的方法。另外,我们也可以用Collator来实现中文的排序。 package demo; import java.text.Collator; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Locale; public class TestCollato ...
Arrays工具类提供了一些比较实用的方法,比如sort, binarySearch, fill等。其中还有一个asList方法,此方法能够将一个变长参数或者数组转换成List。 但是,这个生成的List,它是固定长度的,如果对其进行add或者remove的操作,会抛出UnsupportedOperationException,为什么会这样呢? 带着疑问,查看一下Arrays的源码,可以得到问题的结果。    /** * Returns a fixed-size list backed by the specified array. (Changes to * ...
记录几个日期处理的小方法 1. 不同日期格式之间的转化 2. 计算两个日期相差的天数 ...... import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public final class DateUtil { private static final lon ...
生成一个连续数字的旋转二维数组,起始位置位于左上角,然后从起始位置开始递增,按照顺时针或者逆时针从外向里将连续的数组存入二维数组中,并输出生成的旋转二维数组。 /** * * <code>ConvolutionalArray</code>主要是用来输出一个旋转式样的二维数组。 * * * 此二维数组由连续的数字组成,比如: * * * int i=5; * 1 2 3 4 5 * 16 17 18 19 6 * 15 24 25 20 7 * 14 23 22 21 8 * 13 1 ...
给定一组对象,要求给出这些对象数据的全排列。 例子: 对象数据{A}, 全排列 [A] 对象数据 {A,B} 全排列 [AB] [BA] 对象数据 {A,B,C}全排列 [ABC][ACB][BAC][BCA][CAB][CBA] ... 依此类推 根据对象数据的个数,得到的全排列个数为 Num = N! ( ...
八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。 本文用递归的方法来实现八皇后问题,并设置了期望的皇后数,可以设置不同的皇后期望值,来输出更多的其它组合。 JAVA程序代码: /** * 八皇后问题 * 八皇后问题,是一个古老而著名的问题,是回溯算 ...
/** * * 1 1 1 1 0 1 1 1 1 2 2 2 2 2 2 1 1 1 2 2 1 0 1 2 2 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 3 2 2 2 2 2 3 3 2 1 1 1 2 3 3 2 1 0 1 2 3 3 2 1 1 1 2 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3 ...
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 分析:首先先来看一个稍微简单的版本:一个数组里除了一个数字之外,其他 ...
如果查找过程和程序执行能结合起来,那么这个过程会更加直观。 本文简单地实现了顺序查找的可视化。界面很简单就包括两个部分:界面左侧是可视化查找部分,右侧是顺序查找的代码。如下图所示: <<可视化查找之二分查找>>,请参考http://mouselearnjava.iteye.com/blog/1868263 程序的关键点主要有两点: 1. 如何在页面上表示出查找程序的运行过程。 2. 如何将排序程序的运行过程和可视化查找结合起来,保持状态一致。 我的解决方法如下: 我采用了JList去模拟程序的执行,JList有一个setSelectedIndex ...
如果查找过程和程序执行能结合起来,那么这个过程会更加直观。 本文简单地实现了二分查找的可视化。界面很简单就包括两个部分:界面左侧是可视化查找部分,右侧是二分查找的代码。如下图所示: 程序的关键点主要有两点: 1. 如何在页面上表示出查找程序的运行过程。 2. 如何将排序程序的运行过程和可视化查找结合起来,保持状态一致。 我的解决方法如下: 我采用了JList去模拟程序的执行,JList有一个setSelectedIndex的方法,能高亮显示指定的行。通过改变selectedIndex的值,能够达到模拟程序执行的效果。根据模拟程序中保存的状态值去修改可视化查找。 程序主要是随 ...
Global site tag (gtag.js) - Google Analytics