![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
凌晨两点半的太阳v
这个作者很懒,什么都没留下…
展开
-
Java画图板的简单实现。(重绘,多边形,曲线画笔,画图片)
思路: ①画图板的界面 ②创建监听器类 ③给按钮加上鼠标监听 ③画图版的重绘第一部分:界面类 ①画图板的界面 ③给按钮加上鼠标监听public class SampleDraw extends JFrame { public static void main(String[] args) { SampleDraw sam = new ...原创 2018-08-16 21:04:21 · 8575 阅读 · 1 评论 -
JAVA异常机制
1.Java异常的关键字 try{} 有可能会出现异常的代码 catch(){} 根据try{}语句块中的异常和()中的异常来进行处理 finally{} 不管是否发生异常,都会执行的语句块 throw 使用throw关键字从方法中抛出一个异常,抛出给方法本身。 throws 将方法中的异常抛出给调用者...原创 2018-08-25 11:30:17 · 123 阅读 · 0 评论 -
JAVA中String、StringBuilder和StringBuffer的区别
1.String、StringBuilder和StringBuffer的运行速度 StringBuilder–>StringBuffer–>String2.String在Java中的具体操作 String str = “abc”; System.out.println(str); str += “jk”; System.out.p...原创 2018-08-25 11:35:08 · 152 阅读 · 0 评论 -
Java实现表达式二叉树
表达二叉树的特点:运算符作为父节点,运算的数字分别为左右子节点 第一步:遍历公式,找出所有的运算符和 数字,分别构建节点存储 第二步:从运算符列表中去除第一个运算符,取出两个运算的数字,构建一个节点,并且放回数字列表中 第三步:重复第二步,直到数字列表只剩一个节点,该节点就是根节点节点的属性:左右子节点,数据 节点类的代码:public class Node { pr...原创 2018-08-30 15:38:08 · 1087 阅读 · 0 评论 -
Java哈夫曼二叉树之数据压缩,解压
压缩原理:将原文件的字符转成字节数据 解压原理:将原文件压缩过程中的编码表,写入压缩文件中。解压过程中,先读取编码表,再读取压缩的字符的字节数据,根据编码表还原字符数据,生成新的文件。...原创 2018-09-05 15:24:13 · 503 阅读 · 0 评论 -
JAVA压缩之LZW算法字典压缩与解压
压缩过程:前面已经写过一篇哈夫曼压缩,LZW字典压缩与哈夫曼压缩的不同之处在于不需要把编码写入文件,编码表是在读文件中生成的,首先将0-255个ASCLL码与对应的数字存入哈希表中,作为基础码表。这里的后缀为当前前缀+后缀 如果在码表中存在,前缀等于前缀+后缀。如果不存在,将前缀+后缀所表示的字符串写入编码表编码,同时将前缀写入压缩文件中。这里重点注意一下,一个字节所能表示的数字范围为0-...原创 2018-09-17 23:07:47 · 3835 阅读 · 3 评论 -
JAVA网络通信之聊天室(一)
第一步:创建一个简单的服务器,能将客户机发来的字符串显示出来,并且再回送给客户机Java中编写网络通信程序,就必须用到java.net包下面的API;创建一个服务器,那是相当的 简单。 第一步:在指定端口上创建一个java.net.ServerSocket对象ServerSocket server=new ServerSocket(9090);System.out.println("服务器创...原创 2018-09-28 20:21:53 · 803 阅读 · 0 评论 -
Java嵌套循环如何在内循环结束外循环
给循环取个名字原创 2018-10-28 10:08:29 · 4093 阅读 · 0 评论 -
JavaTCP-上传文本文件
基于聊天客户端的基础上的文件传输public class UploadClient { public static void main(String[] args) throws UnknownHostException, IOException { // TODO Auto-generated method stub //1,创建socket客户端对象 Socket s = n...原创 2019-01-17 17:34:03 · 289 阅读 · 0 评论 -
Swing--JTable表格
JTable是一个用来显示和编辑二维表格的组件。可通过创建一个二维数组对象,将二维数组中定义并初始化的值放入表格中。主要构造方法:public JTable(int numRows,int numColumns)public JTable(Object[][] rowData,Object[] columnNames)public JTable(TableModel dm)第一个构...原创 2019-01-17 16:27:26 · 377 阅读 · 0 评论 -
JavaTCP-上传图片
1.客户端代码public class UploadPicClient { public static void main(String[] args) throws UnknownHostException, IOException { // TODO Auto-generated method stub //1,创建客户端socket Socket s = new Socke...原创 2019-01-17 17:37:57 · 1800 阅读 · 0 评论 -
Java的关键字和保留字
保留字:goto、const关键字和保留字都是小写,在IDE工具中会变色。访问修饰符 public、protected、private 作用: 用来修饰类(接口、抽象类)、方法、属性、构造方法、常量、主函数 类、接口、抽象类 class、interface、abstract extends、implements new...原创 2018-08-25 11:17:48 · 331 阅读 · 0 评论 -
JAVA类和对象(构造方法、方法重载、this关键字)
Java是一门完全面向对象的编程语言;类和对象是面向对象编程的基础和核心。 面向对象的编程思想是来源于现实生活;面向对象编程是使用代码来模拟现实生活中的场景。1.现实生活中有哪些是对象? 对象:在现实生活中只要是一个具体的物体就是一个对象。 你所看到的任何一个物体,你所想的任何一个物体都是一个对象。举例:某一台电脑、某一个手表、某一个杯子、某一个学生、...你会从...原创 2018-08-25 11:14:04 · 1868 阅读 · 1 评论 -
JAVA数组和数组队列。
1.数组 数组是一个容器,可以存储同一类型的N个数据。 数组是一种数据结构,是数据结构中访问速度最快的一种。 数组是直接通过下标进行定位的。 数组是属于引用数据类型(数组名中存储的是内存首地址)。 数组本身只有length属性(length获取数组中能存储的数据个数) 但是有从Object父类继承的属性和方法。数组在内存中的存...原创 2018-08-26 13:29:08 · 1147 阅读 · 0 评论 -
Java 队列 ArrayList。简单自定义队列
第一步:查看,剖析ArrayList源代码 第二步:简单自定义队列队列动态添加元素的机制:新建一个数组对象,再把原数组中的元素和新元素放入其中,再把新数组的地址变成原数组的地址。ArrayList的默认初始长度是10,当然也可以自定义;随着元素的增加,其长度也可能会增加,扩容的公式为: 新容量 = 旧容量/2 + 旧容量 + 1 即旧容量的1.5倍+1泛型:泛型是Java SE 1....原创 2018-08-26 17:28:38 · 2634 阅读 · 0 评论 -
Java IO对文档的读写
①读取文档的内容:public class ReadFile { public static void main(String[] args){ readFile("C:\\Users\\Administrator\\Desktop\\构造方法.txt"); } public static void readFile(String fielname)...原创 2018-08-22 17:14:55 · 299 阅读 · 0 评论 -
实例化JFileChooser对象报空指针异常问题的解决办法
极少部分人运气不好可能遇到这样一个问题。只要实例化JFileChooser对象就会报空指针异常;就这一行代码出错说明不是代码的问题,应该是JDK或者电脑权限的问题。 这个小编能力有限,修复不了这个问题,但有另外的方法代替JFileChooser 那我们需要一个文件选择器怎么办?解决 方案: 使用 FileDialog// 创建文件对话框 fd = new...原创 2018-08-22 17:24:52 · 837 阅读 · 0 评论 -
JAVA简单记事本的实现
第一步 给窗口添加文本输入框第二步 给窗口添加菜单栏选项并且加上监听第三步 如何打开文件,保存文件,新建文件,另存为文件第四步 实现复制,粘贴,剪切,删除,撤销功能 第一步:给窗口添加文本输入框TextArea ta = new TextArea();Font font = new Font("宋体", Font.PLAIN, 15);// 设置字体ta.set...原创 2018-08-23 15:02:15 · 2346 阅读 · 1 评论 -
java五子棋AI
五子棋和简单AI的实现: 首先将五子棋的界面写出来。 首先我们写一个接口类,定义好棋盘的数据(目的是方便修改)。public interface Config { public static final int X0=50;//左上角起点X值 public static final int Y0=50;//左上角起点Y值 public static final in...原创 2018-08-21 10:57:29 · 487 阅读 · 0 评论 -
链表,Java自定义链表的实现(单向,循环,双向)
1.链表 链表是由节点组成的。 节点是由数据域+引用域组成的。 节点与节点之间是通过引用域进行链接的。 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针...原创 2018-08-28 17:17:05 · 7879 阅读 · 1 评论 -
Java实现哈夫曼二叉树
1、统计学生学分 学生考试结果 A B C D 学分增加 5 4 3 0 人数 10 50 30 10代码1: if A : +5 else if B : +4 else if C : +3 ...原创 2018-08-31 15:10:00 · 247 阅读 · 1 评论 -
Java线程
什么是线程? Java中,一个应用程序就是一个进程,而线程是一个进程内部的多个运行单位。一个程序内部一个独立的运行单位线程的创建:两种方法: ① 通过继承Thread类创建线程 重写run()的运行方法;然后再创建该子类的实例,调用其start()方法启动线程。②通过实现Runnable接口创建线程 定义一个实现Runnable接口的类,实现它的run方法;然后将这个类的实例作...原创 2018-08-28 19:11:25 · 89 阅读 · 0 评论 -
Java数组,冒泡排序
数组的定义: 三种方法 ① 类型 [] 数组名 = new 类型[长度]; Int [] shuzu = new int[10]; 数组中每个位置的元素都会是其默认值,如果是原始类型,则为0,如果是对象类型,则为null; ② 在创建数组时就给数组中的原素赋值;int[] shuzu = new int[]{1,2,3,4,5} ③仅定义一个数组变量名,然后再来赋值 ...原创 2018-08-28 19:12:43 · 301 阅读 · 0 评论 -
Java类与接口,继承
定义类 public class 类名{……. } (ps:类名首字母大写) 创建一个主函数public static void main(Sting[] args){ .........................}类包含对象 类 ( 属性 , 方法)定义类的属性: ...原创 2018-08-28 19:13:47 · 155 阅读 · 1 评论 -
Java事件监听机制
给组件加上监听器 定义一个类,这个类继承ActionListener pubulic class ButListener implements ActionListener{ Public void actionPerformed(ActionEvent e){ }} 给按钮添加动作监听器方法 ButListener but = new ButListen(); jbu.addAc...原创 2018-08-28 19:18:08 · 184 阅读 · 0 评论 -
Java简单实现自定义HashMap
数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。要综合两者的特性,就有了哈希表。哈希表有多种不同的实现方法,最经典的一种方法 —— 拉链法。哈希表可以理解为链表的数组。主干为数组,数组的每一个成员是链表。该数据结构所容纳的所有元素均包含一个指针,用于元素间的链接。我们根据元素的自身特征把元素分配到不同的链表中去,反过来我们也正是通过这些特征找到正确的链表,再从...原创 2019-02-15 16:16:14 · 4617 阅读 · 2 评论