- 博客(21)
- 收藏
- 关注
原创 java----------C/S编程-----简单聊天程序
一、服务器端代码package org.clentserver;import java.io.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.net.Socket;import java.net.ServerSocket;public class csDemo01 ext
2014-03-31 18:58:03 5563 3
原创 算法思考---------八枚银币
一、问题说明 现有八枚银币a b c d e f g h,已知其中一枚是假币,其重量不同于真币,但不知是较轻还是较重,如何使用天平以最少的比较次数,决定出哪枚是假币,并得出假币是较轻还是较重。二、解法 先比较a+b+c与d+e+f,如果相等,则假币必定是g或h,我们先比较g或h哪个重,再与a比较三、代码实现#include #include
2014-03-30 20:15:57 911 2
原创 java-----C/S编程----模拟手机业务办理
一、协议信息:用端口来实现package org.Socket;public interface BusinessProtocal{ static final int PAY_BILL = 1; static final int ROAMING_SERVER = 2; public void payBill(); public void roamingServer
2014-03-30 11:58:13 978
原创 java-------TCP------Socket与ServerSocket
运行TCP协议通信时,客户机和服务器之间首先需要建立一个连接,然后,客户机端和服务器端程序各自将一个Socket对象与这个连接绑定,然后,两端的程序就可以通过和连接绑定的Socket对象来读写数据了。一、网络套接字Socket与ServerSocket 在java网络编程中,套接字是一个用于端口连接和数据交换的对象,一个套接字有IP地址和端口号唯一确定。网络的每一个端口,都可以
2014-03-29 11:03:03 977
原创 java-------URL编程技术
一、URL编程技术 URL是统一资源定位器的缩写,它是指向互联网“资源”的指针。URL表示了Internet上某个资源的地址。URL支持http,file,ftp等多种协议。通过URL标识,可以直接使用通信协议获取远端计算机上的资源信息,方便快捷的开发Internet应用程序。 java.net包中的URL类是对统一资源定位符的抽象,使用URL创建对象的应用程序
2014-03-28 20:35:19 788
原创 算法思考---------八皇后
一、问题说明 在8x8格的国际象棋中摆放八个皇后,使其不能相互攻击,及任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。二、代码实现#include int count = 0;int notDanger( int row, int j, int (*chess)[8] ){ int i, k, flag1=0, flag2=0, flag3=0
2014-03-27 23:14:18 644
原创 java---------线程-----synchronized
一、同步代码块 synchronized(synObject) (synObject可以是类实例,也可以是类) 每一个对象或者类都对应着一个锁。synchronized块中的代码必须获得对象synObject的锁才能执行。当一个线程欲进入该对象的同步代码块时,JVM将检查对象的锁是否被其他线程获得,如果没有,则JVM把该对象的锁交给当前请求锁的线程
2014-03-27 22:00:40 753
原创 java---------创建线程的两种方法
一、从Thread类派生创建线程实例 定义Thread类的子类,并覆盖其run()方法。创建Thread子类的实例即创建线程对象。用线程对象的start()方法启动线程二、代码实现package org.Thread;public class ThreadDemo01 extends Thread{ int count = 1,number; public
2014-03-26 21:46:40 785
原创 算法思考--------骑士走棋盘(c语言)
一、规则说明 骑士可以从任意一个位置出发,走法和中国象棋的"马"走法类似,"走日"。问:如何走完所有的位置二、解法 可以用递归的方法解决,但是纯粹的递归在维度大时没有效率。一个聪明的解法由J.C.Warnsdorft提出:先将最难的位置走完,接下来的路就宽广了三、代码实现#include int travel(int x, int
2014-03-25 23:10:45 7217 1
原创 java------用File类列出一个目录下的所有文件夹和文件
一、预备知识 要知道File类在java.io.File包中,所以要导入这个包。 File类中用到的方法: boolean isDirectory() 测试此抽象路径名表示的文件是否是个目录 File[] listFiles() 返回一个抽象路径名数组,这些路径名表示
2014-03-25 19:47:58 16166 2
原创 数据结构------树,森林及二叉树的转换方法
一、普通树转化为二叉树 (1)加线:在所有兄弟节点之间加一条连线 (2)去线:对树中的每个节点,只保留它与第一个节点的连线,删除它与其他孩子节点之间的连线 (3)层次调整:以树的根节点为轴心,将整棵树顺时针旋转一定的角度,使之结构层次分明二、森林转换为二叉树
2014-03-24 23:08:49 5404
原创 算法思考--------老鼠走迷宫(二)
一、说明 老鼠走迷宫的入口至出口路径可能不止一条,如何求出所有的路径呢?二、解法 通过递归实现:每次递归进入其上下左右继续叠入函数,直达到达出口,而一到达出口,只是输出一次路径,并不结束递归所以每次打印路径后退栈一次,返回到上层函数,继续判断,知道打印出所有的路径三、代码实现#include #include void visit(int
2014-03-24 20:39:08 1353
原创 算法思考--------老鼠走迷宫(一)
一、说明 老鼠走迷宫是递归求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表示老鼠的行走路径 老鼠的走法有上,下,左,右四个方向,在每前进一格之后就选一个方向前进,无法前进时退回选择下一个可前进的方向,如此在阵列中依序测试四个方向,知道走到出口方向二、代码实现#include #include int visit(int, in
2014-03-20 23:00:13 3874
原创 数据结构-------------线索二叉树(c语言)
一、线索二叉树 如果二叉树的节点包含数据域和两个指针域( lchild 和 rchild ),当节点没有下一个节点时,将指针域赋值为空(NULL),但有时会造成很大的浪费,所以可以将空指针域利用起来,存放其他节点的地址,这样就便于索引,像二叉树遍历,查找之类就会变得相对容易。像上面的二叉树就会造成很大的浪费。当该二叉树以中序遍历输出时,为FDGBACE,红色表示有两
2014-03-20 21:35:07 10219 4
原创 算法思考---------三色旗
一、三色旗说明 假设有一根绳子,上面有红,白,蓝三种颜色的旗子,数目若干,期初绳子上的旗子颜色没有顺序,你希望将它分类,并排列为蓝,白,红的顺序,每次只能交换两个旗子的位子,怎样使得移动的次数最少 假设w代表白色旗子,r代表红色旗子,b代表蓝色旗子 如将wrrbwbrbwrbrwbbbrwwwbwb的旗子排序,最终要变为bbb
2014-03-19 23:17:21 959
原创 java---------GUI文件对话框
一、文件对话框 文件对话框必须依赖一个窗口(JFrame)对象 【1】常用的构造方法 (1) JFileChooser() 构造一个指向默认目录的文件对话框 (2) JFileChooser(File currentDirectory) 用给定的
2014-03-19 21:42:55 3302
原创 java---------GUI弹出式菜单
一、弹出式菜单 弹出式菜单(JPopupMenu)是一种比较特殊的菜单,可以根据需要显示在指定的位置。弹出式菜单有两种构造方法 (1)public JPopupMenu() 创建一个没有名称的弹出式菜单 (2)public JPopupMenu(String label) 构建一个有指定名称的弹
2014-03-19 20:10:08 2777
原创 数据结构--------二叉树的建立和前序遍历------递归实现
代码实现:#include #include typedef char ElemType;typedef struct BiTNode{ char data; struct BiTNode *lchild, *rchild;} BiTNode, *BiTree;// 创建一棵二叉树,约定用户遵照前序遍历的方式输入数据void CreateBiTree(BiTree *T
2014-03-19 14:48:32 2454 3
原创 算法思考-------杨辉三角(c语言)
代码实现#include#define N 12long combi(int n,int r){ int i; long p = 1; for(i=1;i<=r;i++) { p = p*(n-i+1)/i; } return p;}void paint(){ int n,r; for(n=0;n<
2014-03-18 23:23:02 1477
原创 算法思考--------汉诺塔c语言实现-------递归
递归:首先A上有n个圆盘,只需现将n-1个圆盘由A借助C移动到B,再将A上第n个圆盘由A直接移到C,再将B上的n-1个圆盘移到C上即可,而要想移动n-1 个圆盘,就要先移动n-2个圆盘,依次向下,便是递归。 但每次递归都要向栈中压入函数的返回信息等,会占很多内存,所以用递归算法实现虽然很简洁,但效率很低。
2014-03-18 22:14:29 1241
原创 java-----------GUI菜单设计
一、 制作一个可用的菜单系统,一般需要经过下面几个步骤 Step 1 创建一个JMenuBar对象并将其放置在一个JFrame中 Step 2 创建JMenu对象 Step 3 创建JMenuItem对象并将其添加到JMenu对象中 Step 4 把JMenu对象添加到J
2014-03-18 20:31:05 5157 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人