JavaSE
充满鲜花的世界到底在哪里
这个作者很懒,什么都没留下…
展开
-
有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300}; 创建两个抽奖箱(线程)设置线程名称分别
package demo.thread;import java.util.Random;class ChouJiang implements Runnable { private int[] arr = {10, 5, 20, 50, 100, 200, 500, 800, 2, 80, 300}; private boolean[] flag = new boolean[arr.length]; private int num = arr.length; pub原创 2021-04-12 09:41:14 · 672 阅读 · 0 评论 -
线程join
package demo.thread;class JoinThread implements Runnable { public void run() { for (int x = 0; x < 50; x++) { System.out.println(Thread.currentThread().toString() + "....." + x); Thread.yield();//暂停线程,释放执行权,让其他线程和自己原创 2021-04-12 09:42:06 · 76 阅读 · 0 评论 -
线程停止方法
package demo.thread;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class StopThread implements Runnable { Lock lock = new ReentrantLock(); Condition con = lo原创 2021-04-12 09:43:09 · 119 阅读 · 1 评论 -
切割合并文件
package demo.io;import java.io.*;import java.util.ArrayList;import java.util.Collections;import java.util.Enumeration;import java.util.Properties;class 切割文件 { private static final int SIZE = 1048576;//1M大小 public static void main(String[]原创 2021-04-01 09:19:58 · 56 阅读 · 0 评论 -
File文件类常用方法
package demo.io;import java.io.File;import java.io.FileFilter;import java.io.FilenameFilter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;class File文件类 { public static void main(String[] args) {// c原创 2021-04-01 08:49:40 · 144 阅读 · 0 评论 -
自定义文件工具类,(递归)copy文件,递归遍历目录,递归删除文件,递归查找指定目录下指定关键字文件,递归获取指定后缀文件写入文本
package demo.io;import java.io.*;import java.util.ArrayList;public class FileTool { /** * 递归遍历指定目录下所有文件 * * @param dir 将要遍历的目录 * @param level 初始化缩进量,一般为0 */ public static void listAll(File dir, int level) { i原创 2021-04-01 08:48:43 · 72 阅读 · 0 评论 -
集合框架工具Collections排序以及自定义比较器排序
package demo.assemble;import java.util.*;class 集合框架工具_Collections排序_自定义比较器排序 { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("zfe"); list.add("af"); list.a原创 2021-04-01 08:47:35 · 278 阅读 · 0 评论 -
集合框架_TreeSet的常用方法和比较器
package demo.assemble;import java.util.Comparator;import java.util.Iterator;import java.util.TreeSet;class Teacher implements Comparable<Teacher> { private String name = "hh"; private int age = 18; Teacher() { } Teacher(St原创 2021-03-31 15:48:57 · 143 阅读 · 0 评论 -
集合框架Map的基本方法和常用遍历方式
package demo.assemble;import org.junit.Test;import java.util.*;//key值 是无序,不重复的public class 集合框架_Map基本方法和遍历 { //基本方法演示 @Test public void demo() { Map<Integer, String> m = new HashMap<>(); m.put(1, "a");原创 2021-03-31 15:48:09 · 54 阅读 · 0 评论 -
集合框架Hashtable的子类Properties的常用方法
package demo.assemble;import java.io.*;import java.util.Properties;import java.util.Set;/** store() 用于生成一个配置文件 load() 加载一个配置i文件注意: 1. 如果配置文件存在着中文,那么生成配置文件的时候要使用字符流,否则会出现乱码。 2. 如果需要修改配置文件的内容,应该先加载原本配置文件,然后再生成一个配置文件。* */class 集合框架_Hashtable子类P原创 2021-03-31 15:46:04 · 110 阅读 · 0 评论 -
通用Collection_ArrayList迭代器常用方法
package demo.assemble;import java.util.*;class Student { private String name = "hh"; private int age = 18; Student() { } Student(String name, int age) { this.name = name; this.age = age; } @Override pu原创 2021-03-31 15:44:47 · 91 阅读 · 0 评论 -
泛型限定:泛型上限 ? extends E泛型下限 ? super E
package demo.assemble;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class 泛型限定 { public static void main(String[] args) { ArrayList<Student> al = new ArrayList<>(); al.add(new原创 2021-03-31 15:43:45 · 150 阅读 · 0 评论 -
使用泛型反转数组
package demo.assemble;import java.util.Arrays;import java.util.LinkedList;class 泛型练习 { public static void main(String[] args) { Integer[] arrInteger = {1, 2, 3, 4, 5, 6}; Character[] arrCharacter = {'1', '2', 'a', 'b'}; Flo原创 2021-03-31 15:43:01 · 116 阅读 · 0 评论 -
类上的泛型和接口泛型
package demo.assemble;//接口泛型interface Inter<T> { public abstract void show(T e);}//将泛型定义在类上class Tool<T> { private T data; //将泛型定义在静态函数上 此时静态函数无法使用类上定义的泛型 static <Tp> void print(Tp e) { System.out.println原创 2021-03-31 15:42:20 · 159 阅读 · 0 评论 -
使用LinkedList模拟队列QueueSimulation
package demo.assemble;import java.util.LinkedList;class QueueSimulation { private LinkedList link;//使用LinkedList模拟队列 QueueSimulation() { link = new LinkedList(); } //尾部添加元素 void add(Object o) { link.add(o); }原创 2021-03-31 15:41:50 · 190 阅读 · 0 评论 -
使用LinkedList模拟栈Stack_Link
package demo.assemble;import java.util.LinkedList;class StackSimulation { private LinkedList link;//使用LinkedList模拟栈 StackSimulation() { link = new LinkedList(); } //尾部添加元素 void add(Object o) { link.add(o); }原创 2021-03-31 15:40:47 · 136 阅读 · 0 评论 -
Properties实现指定软件运行次数
package demo.assemble;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Properties;class Properties应用_指定软件运行次数 { public static void main(String[] args) throws IOException {原创 2021-03-31 15:39:22 · 92 阅读 · 0 评论 -
随机生成验证码
package demo.api;import cn.itcast.vcode.utils.VerifyCode;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.Ra原创 2021-03-29 09:19:00 · 126 阅读 · 0 评论 -
获得当前包的路径
package demo.api;class 获得当前包的路径 { public static void main(String[] args) { System.out.println(System.getProperty("user.dir"));//当前项目路径 //I:\Programming\code\JAVA System.out.println(获得当前包的路径.class.getName());//当前类.class.getNam原创 2021-03-29 09:18:04 · 203 阅读 · 0 评论 -
正则表达式常用方法
package demo.api;import org.junit.Test;import java.util.regex.Matcher;import java.util.regex.Pattern;//JavaSE文档 Pattern类public class 正则表达式 { //匹配演示 @Test public void matching() { String regex = "ao?b"; System.out.printl原创 2021-03-29 09:17:30 · 103 阅读 · 0 评论 -
自定义枚举类
package demo.api;//方向类abstract class Direction { static final Direction FRONT = new Direction("前") {//抽象类无法定义对象,只能使用内部类来实现 @Override void show() { System.out.println(getName()); } }; static final Direction原创 2021-03-29 09:16:12 · 126 阅读 · 0 评论 -
复杂枚举类
package demo.api;//最常见枚举类enum Direction3 { FRONT, BACK, LEFT, RIGHT;//0,1,2,3... @Override public String toString() { return this.ordinal() + " " + this.name(); }//若不重写,以下输出结果相同:d1, d1.toString(), d1.name()}//最复杂的枚举类enum Dir原创 2021-03-29 09:12:11 · 371 阅读 · 0 评论 -
基本数据类型对象包装类
package demo.api;class 基本数据类型对象包装类 { public static void main(String[] args) { System.out.println("byte的字节:" + Byte.BYTES); System.out.println("byte的位数:" + Byte.SIZE); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);原创 2021-03-29 09:11:30 · 65 阅读 · 0 评论 -
打印引用类型变量的字节和最小大值
package demo.api;class PrimitiveTypeTest { public static void main(String[] args) { System.out.println("byte的字节:" + Byte.BYTES); System.out.println("byte的字节:" + Byte.SIZE / 8);//SIZE 位 System.out.println("最小值:Byte.MIN_VALUE="原创 2021-03-29 09:10:55 · 101 阅读 · 0 评论 -
System的常用方法
package demo.api;import java.util.Arrays;class SystemTest { public static void main(String[] args) { /* arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 一般 src - 源数组。 srcPos - 源数组中的起始位置。 dest - 目标数组。原创 2021-03-29 09:10:00 · 88 阅读 · 0 评论 -
String的常用方法
package demo.api;import java.util.Arrays;import java.util.Scanner;/* * String 和 StringBuffer 区别: * 1.StringBuffer没有重写equals方法 * 2.StringBuffer不能使用+ * *///字符串首尾去除空格—字符串反转—查询指定字符串出现次数 见 algorithm包class StringTest { private static Scanner sc =原创 2021-03-29 09:09:12 · 104 阅读 · 0 评论 -
StringBuilder和StringBuffer常用方法
package demo.api;/** String 和 StringBuffer 区别:1.StringBuffer没有重写equals方法2.StringBuffer不能使用+* */class StringBuilderAndStringBuffer { public static void main(String[] args) {// StringBuffer sb = new StringBuffer(); StringBuilder sb原创 2021-03-29 09:08:12 · 280 阅读 · 0 评论 -
递归实现列出指定目录下所有.png文件
import java.io.File;import java.io.FileFilter;/* *递归实现列出指定目录下所有.png文件 * */class IO3 { public static void main(String[] args) { File file = new File("I:\\Programming\\code\\JavaSE\\src"); listFilesAll(file); } private stat原创 2021-03-25 09:35:54 · 241 阅读 · 0 评论 -
递归实现输入任意目录,列出文件以及文件夹
import java.io.File;/* * 递归实现输入任意目录,列出文件以及文件夹 * */class IO2 { public static void main(String[] args) { File file = new File("I:\\Programming\\安装包备份"); listAll(file, 0); } private static void listAll(File file, int level) {原创 2021-03-25 09:35:23 · 195 阅读 · 0 评论 -
在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,在创建一个目 录IOTest,之后将HelloWorld.txt移动到IOTest目录下去;之后遍历IOTest这个目
import java.io.File;import java.io.IOException;/** * 在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,在创建一个目 * 录IOTest,之后将HelloWorld.txt移动到IOTest目录下去;之后遍历IOTest这个目录下的文 * 件 */class IO1 { public static void main(String[] args) { File file = new F原创 2021-03-25 09:34:57 · 4540 阅读 · 0 评论 -
动态代理AOP
package dynamic_proxy.base;import org.junit.Test;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface A { void a(); void aa();}interface B { void b(); void bb();}原创 2021-03-24 16:06:48 · 71 阅读 · 0 评论 -
Jnuit5单元测试常用注解
package junit5;import org.junit.jupiter.api.*;/** * juint不是javase的一部分,想要使用需要导入jar包 * 方法名规范:Jnuit4: public void xxx(无参) * ⑥测试类使用Test作为类名的后缀(不是必须) * ⑦测试方法使用test作为方法名的前缀(不是必须) */public class Jnuit5单元测试Test { @BeforeEach public void test3() {原创 2021-03-24 16:05:07 · 152 阅读 · 0 评论 -
JUnit4单元测试常用注解
package junit4;import org.junit.After;import org.junit.Before;import org.junit.Ignore;import org.junit.Test;import org.junit.jupiter.api.Assertions;/** *JUnit4演示 */public class JUnit4单元测试Test { /** *普通测试 * */ @Test public v原创 2021-03-24 15:41:22 · 217 阅读 · 0 评论 -
递归汉诺塔
import java.util.Scanner;class RecursionHanNuoTa { public static void main(String[] args) { int n; char x, y, z; Scanner sc = new Scanner(System.in); System.out.print("请输入汉诺塔数量:"); n = sc.nextInt(); Sys原创 2021-03-24 15:37:23 · 53 阅读 · 0 评论 -
蛇形填数
import java.util.Scanner;/*在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4*/class 蛇形填数 { private static Scanner sc = new Scanner(System.in); public static void main(String[] args) { int n = sc.nextInt();//原创 2021-03-24 15:36:38 · 71 阅读 · 0 评论 -
统计各种字符(英文字母、空格、数字和其它字符)的个数
import java.util.*;//题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。public class 统计各种字符个数 { public static void main(String[] args) { int iSpace = 0, iLetter = 0, iNumber = 0, iElse = 0; Scanner sc = new Scanner(System.in); String str = sc.nextLine(); ch原创 2021-03-24 15:36:01 · 410 阅读 · 0 评论 -
统计一串数字中每个数字出现的次数
class NumberCount { public static void main(String[] args) { long num = 12345678900l; String strNum = String.valueOf(num); numberCount(strNum); } private static void numberCount(String strNum) { int[] c = new in原创 2021-03-24 15:34:47 · 1216 阅读 · 0 评论 -
水仙花数
import java.util.Scanner;/*请判断一个数是不是水仙花数。其中水仙花数定义各个位数立方和等于它本身的三位数。输入有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)输入0表示程序输入结束。输出如果n是水仙花数就输出Yes否则输出No样例输入1531540样例输出YesNo*/class 水仙花数 { private static Scanner sc = new Scanner(System.in);原创 2021-03-24 08:30:00 · 85 阅读 · 0 评论 -
每个字符出现次数并排序TreeMap实现
import java.util.Map;import java.util.TreeMap;/* * 练习: * "fdgavcbsacdfs" 获取该字符串中,每一个字母出现的次数。 * 要求打印结果是:a(2)b(1)...; * */class 每个字符出现次数并排序_TreeMap练习 { public static void main(String[] args) { String str = "fdgavcbsacdfs"; System.原创 2021-03-23 17:52:55 · 150 阅读 · 0 评论 -
查找距离自己最近的素数和距离
/*素数距离问题描述现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0输入第一行给出测试数据组数N(0<N<=10000)接下来的N行每行有一个整数M(0<M<1000000),输出每行输出两个整数 A B.其中A表示离相应测试数据最近的素数,B表示其间的距离。样例输入36810样例输出5 17 111 1原创 2021-03-23 17:51:15 · 680 阅读 · 0 评论