JavaSE

多线程

实现一个多线程的方法: 方式一: 创建MyThread类继承thread类 在MyThread类中重写run方法“ 创MyThread类的对象 启动线程 public class MultiThreading { static class MyThread extends Thread{ @Override public void run() { // TODO Auto-generated me...

IO流

读得懂的是字符流,读不懂的是字节流 字节流是万能的流,不知道使用那种流就可以使用字节流 //创建输出流 //FileOutputStream fi = new FileOutputStream(“F:\\SE\\dim.txt”); //创建字节输入流对象 FileInputStream fo = new FileInputStream(“F:\\SE\\dim.txt”); //一次读一个字节 ...

Map集合

Map<k,v>    k: 键 v: 值 Map的键是不能重复的 基本的功能: Map<String, String> map = new HashMap<String,String>(); //添加元素 map.put(“dim”, “001”); map.put(“di2”, “002”); map.put(“di3”, “001”); System.ou...

二分查找

public static int erfen(int n, int start , int end) { //n是寻找坐标的数,start是起始坐标,end是末尾 while(start < end) { int zj = (start + end) / 2; //获取中间值 if(arr[zj] == n) { //如果中间的是结束 return zj; }else if(arr[zj]...

等差数列

public class 等差数列 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] num = new int[N]; for (int i = 0; i &lt...

最大公约数和最小公倍数

import java.util.Scanner; public class 最大公倍数 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt...

杨辉三角

public class 杨辉三角 { public static void main(String[] args) { // TODO Auto-generated method stub yh(4); } public static void yh(int n) { int[][] arr = new int[n][n]; for(int i = 0 ; i < n; i++) { ar...

Java 基本数据类型

byte: byte 数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是 -128(-2^7); 最大值是 127(2^7-1); byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一; 默认值是 0; short: short 数据类型是 16 位、有符号的以二进制补码表示的整数 最小值是 -32768(-2^15); 最大值是...

1到n的全排列

import java.util.Scanner; public class Main{ static int a[] = new int[10010]; static boolean [] vis = new boolean[10010]; static int n = 0; public static void print() { for(int i = 1; i <= n; i++) ...

手写一个树

import java.util.ArrayList; public class shu { static class node { public String s; //存储数据 public ArrayList<node> list; //创建一个共工的集合 public node (String s) { list = new ArrayList<node>(); t...

进制转换

x需要被转换的值 n转换的进制数 Scanner sc=new Scanner(System.in); while(sc.hasNext()) { int n=sc.nextInt(); int x=sc.nextInt(); System.out.println(Integer.toString(n,x).toUpperCase()); }

Java快速排序

简述 快速排序是一种排序执行效率很高的排序算法,它利用分治法来对待排序序列进行分治排序,它的思想主要是通过一趟排序将待排记录分隔成独立的两部分,其中的一部分比关键字小,后面一部分比关键字大,然后再对这前后的两部分分别采用这种方式进行排序,通过递归的运算最终达到整个序列有序,下面我们简单进行阐述。 快排思路 我们从一个数组来逐步逐步说明快速排序的方法和思路。 假设我们对数组{7, 1, 3, 5, ...

dfs上下左右搜索坐标

x: 0  1  -1  0 y: 1  0   0  -1 x不动,y+1向下走 x+1,y不动向右走 x-1,y不动向左走 x不动,y-1向上走 八个方向搜索上下左右右上右下左下 x:0 , 1 , -1 , 0 , -1 , 1 , 1 , -1 y:1 , 0 , 0 , -1 , -1 , 1 , -1 , 1 x不动,y+1向下走 x+1,y不动向右走 x-1,y不动向左走 x不动,y...

java的BigDecimal比较大小

//前提为a、b均不能为null if(a.compareTo(b) == -1){ System.out.println(“a小于b”); } if(a.compareTo(b) == 0){ System.out.println(“a等于b”); } if(a.compareTo(b) == 1){ System.out.println(“a大于b”); } if(a.compareTo(b)...

java反转函数

StringBuffer里的reverse()方法 String s = String.valueOf(n); String s1 = new StringBuffer(s).reverse().toString(); 虽然String和StringBUffer都能操作字符串,但是不属于同一个类,不能直接兼容 StringBuffer()将String类型的str转换为StringBuffer,方...

质数判断

public static boolean d(int n) { if(n == 1) { return false; } for(int i = 2; i <= Math.sqrt(n); i++) { if(n % i == 0) { return false; } } return true; }

全排列排序

public static void perm(int[] num, int i) { // i为第几层 if (i < num.length) { // 小于总层就旋转,旋转间隔从0开始 for (int j = i; j < num.length; j++) { int tmp = num[j]; // 旋转该区段最右边的数字到最左边 for (int k = j; k > ...

全排列n个数指定m个数输出全排列

public static void pl(int a, int b) { //a是输出几个,b是从几开始 if(a == 0) { for(int j = 1; j <= n; j++) { if(vis[j]) { System.out.print(j + ” “); } } System.out.println(); } for(int i = b; i <= n; i++) {...

进制转换

public class Main { public static void main(String[] args) { int n = 19; Integer.toHexString(n); System.out.println(n + “的二进制是:” + Integer.toBinaryString(n)); System.out.println(n + “的八进制是:” + Integer...