![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Smilexs丶
www.zsgame.online
展开
-
Java之二分法查找数组
/** * 二分法查找 * @author Smilexs * */public class BinarySearch { public static void main(String[] args) { int[] array=new int[]{13,14,19,21,35,78,119,199,201}; int index= binarySearch(array,2...原创 2015-09-25 16:44:57 · 420 阅读 · 0 评论 -
Java之按钮控制重绘面板
结果展示: 源码: `package demo01;import java.awt.BorderLayout; import java.awt.Button; import java.awt.Dimension; import java.awt.Graphics; import java.awt.TextField; import java.awt.event.ActionEven原创 2015-09-24 11:28:47 · 1236 阅读 · 0 评论 -
Java之反射的简单应用
本文主要对java反射的简单应用,获取字节码,类的字段、方法,调用方法等!掌握基础,日后可以举一反三!效果展示:源码:/** * 反射的简单运用 * @author Smilexs */public class TestReflect { public static void main(String[] args) throws Exception{ /**1、获...原创 2015-10-14 15:22:44 · 427 阅读 · 0 评论 -
Java之IO流简单应用:分隔文件、合并文件
本文主要应用javaIO中字节流,将源文件分割成每份1M,也可以反过来将分割后的文件合并成新的文件(与源文件相同)。源码如下:/** * 分割、合并文件 * @author Smilexs */public class DivideFile { private static final int SIZE = 1024*1024;//每部分的文件大小==1M public ...原创 2015-10-09 22:08:15 · 758 阅读 · 1 评论 -
Java之基于tcp模拟多客户端上次图片到服务器
主要原理: 客户端Socket需要指明服务端ServerSocket的地址和端口,而服务端只需指明哪个端口来处理数据,要确认是哪个客户端,可通过accept()方法来获取,获取Socket后,主要就是运用IO流来进行数据传输。 由于accept()具有阻塞性,一直等待客户端的连接,如果服务端只用单线程来处理数据,那么每次只能有一个客户端连接并处理数据,这不符合原理,因此...原创 2015-10-08 17:49:48 · 504 阅读 · 0 评论 -
Java之实现:求最大子数组
效果展示:1、2、3、主要运用分治思想,可参考《算法导论》的4.1节。源码:/** * 测试得到一个最大子数组(数组还有负数才有意义)---分治算法 * @author Smilexs * */public class TestMaxSubArray { //最大子数组对象 private class SubArray{ int leftInd...原创 2019-06-05 20:11:54 · 1250 阅读 · 0 评论 -
Java之面试题1
题:大厅里有100盏灯,每盏灯都编了号码,分别为1-100。每盏灯由一个开关来控制。(开关按一下,灯亮,再按一下灯灭。开关的编号与被控制的灯相同。)开始时,灯是全灭的。现在按照以下规则按动开关。第一次,将所有的灯点亮。第二次,将所有2的倍数的开关按一下。第三次,将所有3的倍数的开关按一下。以此类推。第N次,将所有N的倍数的开关按一下。问:1、第100次按完以后,大厅里还有几盏灯是亮的。...原创 2015-10-01 16:13:05 · 880 阅读 · 0 评论 -
Java之多线程模拟:多生产者-多消费者
测试入口:/** * 多线程程序:模拟2个生产者生产产品,3个消费者消费产品;2个生产者不停的生产商品,3个消费者不停的消费产品 * @author Smilexs * */public class Test { public static void main(String[] args) { Resoures r = new Resoures(); ...原创 2015-09-30 14:38:09 · 785 阅读 · 0 评论 -
Java之逼近法的运用,开根号原理、已知x的x次幂的值求x
1、开根号:1.1、jdk自带方法:Math.sqrt()1.2、用逼近法求: /** * 功能:开根号计算 * @author Smilexs * @param x * @return 根号x */ public double kaiGengHao(double x){ double a=1;//猜一个数 double b; for(;;)...原创 2015-09-26 11:08:59 · 3647 阅读 · 0 评论 -
Java之实现快速排序
/** * 快速排序 时间复杂度:nlog(n) * @author Smilexs * */public class QuickSort { public static void main(String[] args) { int[] array=new int[]{12,35,3,18,75,31,76,8,5,3}; quickSort(array,0,array.l...原创 2015-09-25 13:35:08 · 406 阅读 · 0 评论 -
Java之实现冒泡排序
/** * 冒泡排序--时间复杂度 n^2 * @author Smilexs * @time 2015/9/25 */public class BubbleSort { public static void main(String[] args) { int[] array=new int[]{12,35,3,18,75,31,76,8,5}; BubbleSortFro...原创 2015-09-25 13:21:18 · 459 阅读 · 0 评论 -
Java之repaint()定时刷面板问题及演示代码(附滚动条实现)
问题:1、绘画面板主要是UI线程执行,所以要注意:如果你在主线程中休眠,UI线程也会休眠,导致界面覆盖、卡顿等现象 解决:开辟一个异步线程,定时休眠,在调用repaint()重绘面板 如:new Thread(new Runnable() { public void run() { while (true) { try { ...原创 2015-08-03 11:22:19 · 1749 阅读 · 0 评论 -
Java之实现插入排序,附其改进--二分检索的插入排序
关于插入排序,如果忘记了原理,请自行百度或参考《算法导论》第2章,温故而知新!。关于改进的插入排序,方式1的时间复杂度没有明显改进,方式2一般情况下可以明显缩短时间。关于其时间复杂度的研究,还请自行脑补。1、插入排序的java源码: /** * 插入排序:从小到大 * @param array * @return 排序花费的时间 */ public static ...原创 2015-09-26 00:00:22 · 515 阅读 · 0 评论 -
Java之实现:筛选法求素数
不了解筛选法,还请自行百度,筛选法可以快速求的素数,不多说,直接上代码伺候! /** * 功能:筛选法求素数(主要是素数倍数的数,肯定不是素数) * @author Smilexs * @param severalPrime 第几个素数 */ public void getPrime(int severalPrime){ if(severalPrime<=0||s...原创 2015-09-26 11:20:02 · 1502 阅读 · 0 评论