java
马马也
或许是不知梦的缘故,流离之人追逐幻影。
展开
-
线性表的抽象数据类型定义
public interface ListIntf{ public int size(); //返回表长度 ...原创 2018-03-22 11:18:17 · 1643 阅读 · 0 评论 -
快速排序算法(java实现)
一.思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另一部分的所有数据都要小,然后再用递归方法对着两部分分别进行快速排序,当每一部分不能再细分时完成排序.二,解释初始数组初始数组 下标 0 1 2 3 4 5 6 7 值 6 4 7 9 2 8 1 1...原创 2019-03-23 12:18:09 · 102 阅读 · 0 评论 -
关于java引用数据类型的坑
一.前记最近在做老师布置的一道题时忽然产生了一个莫名奇妙的bug,感觉自己代码编写的思路完全对,可是运行结果总是出错,经过调试后发现,原来自己是掉到了java引用数据类型的坑里了,这种错误比较难以发现,记录在这里,以防自己再犯.二.题目(那道有坑的题目)编写一个reverse方法实现:如果一个数字的反向倒置数和它的顺向数一样,这个数就称作回文数.编写一个程序,提示用户输入一个整数...原创 2019-04-11 15:51:35 · 329 阅读 · 0 评论 -
java中HashMap的遍历方式
贴代码:import java.util.HashMap;public class Test{ public static void main(String[]args){ HashMap<Integer, String> map = new HashMap<Integer, String>(); map.put(1,...原创 2019-03-28 22:48:55 · 511 阅读 · 0 评论 -
Java运行时数据区域
一.概论java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,下面就让我们看看java虚拟机运行时数据区域有哪几部分组成吧.二.运行时数据区域1.程序计数器程序计数器时一块较小的内存空间,是线程私有的,可以看作是当前线程所执行的字节码的行号指示器.如果线程正在执行的是一个Java方法,这...原创 2019-04-11 20:27:20 · 104 阅读 · 0 评论 -
LeetCode算法之两数相加
一.题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0...原创 2019-04-12 09:04:32 · 115 阅读 · 0 评论 -
关于Java中char类型相加的问题
对于Java中的字符数据类型(也就是char类型),它在相加时不是像字符串那样是字符的连接,而是ASCII的相加,也就是说你如下这样写是没问题的char a = 'A';char b = 'B';int c = a + b; //不用强制类型转换同时,由于char类型在相加时是ASCII码的相加,所以要转化为字符的连接可以用如下的方式:char a = 'A';...原创 2019-04-16 16:36:03 · 6744 阅读 · 0 评论 -
LeetCode算法之无重复字符的最长子串(滑动窗口法)
一.题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是...原创 2019-04-18 20:33:32 · 520 阅读 · 0 评论 -
八皇后问题(递归回溯法)--Java实现
一.题目经典的八皇后问题是要将八个皇后放在棋盘上,任何两个皇后不能相互攻击(即没有两个皇后是在同一行,同一列或者同意对角线上).编写程序列出所有的解决方案和解决方案的总数.二.代码及思想package work22;public class Test { public static int[][] array = new int[8][8]; //初始化棋盘 ...原创 2019-04-20 09:21:23 · 2287 阅读 · 1 评论 -
LeetCode算法之最长回文子串(中心扩展算法)
一.题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"二.代码及思想class Solution { public String longestPalindrome(String ...原创 2019-04-20 15:47:23 · 534 阅读 · 0 评论 -
java的io流以及文件复制的实现
一.java的io流java为了实现一个好的输入输出系统提供了大量的类,这些类都被封装到了java的io包中,我们可以通过import java.io.*进行引入.在讲java的io流之前必须要明白java的File类,该类叫文件类,该类的可以理解为将一个实体文件封装成为了一个文件对象,从而可以通过调用相关的属性和方法对文件进行操作.将一个文件封装为一个File对象的代码如下:imp...原创 2019-05-18 18:17:32 · 2084 阅读 · 0 评论 -
Java中使用try语句实现自动关闭输入输出流
在写Java输入输出流的时候很重要的一点就是在最后不要忘记调用close函数来关闭打开的流,因为打开文件是一种独占式的操作,打开后不关闭会导致其他程序不能再次打开这个文件。为了避免程序员在写输入输出流时忘记关闭流,Java提供了一种try的语法结构,可以实现流的自动关闭。其语法结构如下:try(创建的流对象){ 对输入输出流进行操作的语句}需要注意的是,在try语句后面的小...原创 2019-06-07 11:47:25 · 7744 阅读 · 2 评论 -
关于JDBC的总结
1.ResultSet的getInt、getString等方法的参数既可以是表的属性名,也可以是表的列号。例如下面的这张表:ResultSet rs = stmt.excuteQuery(sql);while(rs.next()){ int a = rs.getInt(1); String s = rs.getString(5);}/** int a = r...原创 2019-06-14 09:40:03 · 132 阅读 · 0 评论 -
蓝桥杯:立方变自身
一.分析 根据题意,55的三次方为6位数,即使每一位为9,每位相加最高只能为54,所以从55以后的数不可能满足条件,只需要循环前54个数.二.代码package 第七届蓝桥杯;public class Main { public static void main(String[] args) { // TODO 自动生成的方法存根 int count...原创 2019-03-18 09:30:23 · 270 阅读 · 0 评论 -
蓝桥杯之加法变乘法
一.题目加法变乘法我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻9liu'a的加号变成乘号,使得结果为2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是...原创 2019-03-19 21:24:39 · 148 阅读 · 0 评论 -
顺序表的插入删除算法
return;}else if((i<1)||i>len+1){ System.out.println("插入位置不正确"); return; }else{ for(j=len-1;j>=i-1;j--) v[j]=v[j-1]; v[j-1]=obj; len++;...原创 2018-03-28 11:42:29 · 1559 阅读 · 0 评论 -
数组的创建
数组的创建分为三步:(1)声明数组的名字和类型(2)创建数组(分配内存空间)(3)初始化数组原创 2018-09-04 09:29:45 · 220 阅读 · 0 评论 -
异常类
Throwable是所有异常类的父类;异常分为两种,一种是系统内部的错误,叫Error,是人为不能捕捉的;另一种叫Exception,是人为可以捕捉的。Exception中有一种叫Runtime Exception,是在编程过程中容易出现的错误,这种错误可以不用捕获,系统会自动报错,其余的是需要程序员必须捕获的错误。...原创 2018-09-02 09:28:51 · 354 阅读 · 0 评论 -
数组的初始化
数组的初始化主要分为两种,一种为动态初始化,一种为静态初始化,接下来通过具体的代码进行演示:1.动态初始化: 动态初始化主要是指在进行数组的创建过程中,先分配内存,在进行数组的赋值,具体代码如下:int [] i;i = new int[3];for(int a = 0; a<i.length; a++){ i[a] = a;}2.静态初始化: ...原创 2018-09-03 18:53:25 · 185 阅读 · 0 评论 -
用数组模拟循环链表
当你创建一个数组,假设数组名为arr,其长度为0~arr.length-1,在数组的中从小到大依次赋值1~arr.length,剩余最后一个数组值赋为0。这样,可以数组的值就是下一个数组的下标,这就完成了用数组模拟循环链表。...原创 2018-09-09 19:16:05 · 2138 阅读 · 1 评论 -
如何将就一个long类型的数转化为字节数组
不能直接通过long类型本身的方法进行转化,只能通过输入输出流进行转化举例如下:long l = 10000L;ByteArrayOutputStream baos = new ByteArrayOutputStream();DataOutputStream dos = new DataOutputStream(baos);dos.writeLong(n);byte[]buf =...原创 2018-10-06 16:29:01 · 2588 阅读 · 0 评论 -
Java实现图形化界面的计算器加法小程序
对于一个简单的计算器加法小程序,它首先是由五个组件构成的,三个文本框,两个用来输入数字,一个用来输出最后的结果,接下来是一个标签,标签的内容是加号,表示这里计算的是加法,最后一个组建是一个按钮,点击该按钮时会输出计算的结果.在这个小程序中,我们采用的布局管理器时FlowLayout.基本元素就是这些,接下来我们将演示两种实现的方法:(1)传递成员局部变量的方法,具体代码如下:pa...原创 2018-10-14 09:50:29 · 10334 阅读 · 0 评论 -
关于内部类的认识
内部类的好处:(1)可以方便的访问包装类的成员(包装类:内部类的外部类)(2)可以更清楚的组织逻辑,防止不应该被其它类访问的类访问.何时使用:该类不需要或者不允许其他类访问时...原创 2018-10-14 10:04:42 · 103 阅读 · 0 评论 -
Java中BorderLayout布局管理器的两种排列实现方式
java中Frame类默认的布局管理器为BorderLayout,其主要是将Frame窗口分为东西南北中五个区域,每个区域仅限于放一个组件,如加入多个,前免得会被覆盖,解决方法为:可以在一个区域中加入文本框Panel,在Panel中可以加入其他的组件。如果不指定加入的位置,则默认加入CENTER区域。 下面我们将介绍在Frame中运用Border Layout布局管理器进行位置布...原创 2018-10-08 15:15:04 · 2652 阅读 · 0 评论 -
数组倒序输出
数组倒序输出:程序如下:package 备战蓝桥杯;public class Test03 { public static void main(String[]args){ int a[] = {1, 2, 3, 4, 5}; for(int i = 0; i<a.length; i++){ System.out.print(a[i] + " "); } ...原创 2019-01-12 22:54:24 · 4714 阅读 · 2 评论 -
数组起别名与拷贝的区别
数组起别名与拷贝的区别:1.数组起别名: //别名int a[] = {1, 2, 3, 4};int b[] = a; //b是数组a的别名b[2] = 10; //该行代码会改变a[2]的值//拷贝int a = {1, 2, 3, 4};int b[] = new int[4]; //对数组b进行初始化b = a; //用数组a初始化数组b,此时...原创 2019-01-12 23:02:39 · 614 阅读 · 0 评论 -
Java容器类中各种容器特性详解
一.容器类的基本结构java中容器类封装于util包中,下面将详细说明容器类中各个子类的特性.二.Collection类1.一个独立元素的序列,这些元素都服从一条或多条规则.List必须按照插入的顺序保存元素,而Set不能有重复元素.Queue按照队列规则来确定对象产生的顺序(通常与它们被插入的顺序相同).2.在实际编程中,Collection类一般不会被使用,通常使用其三个子...原创 2019-03-02 23:08:45 · 896 阅读 · 0 评论 -
Java语法易错点(持续更新中~)
1.写出下面两个程序的结果public class Test{ public static void main(String[]args){ new Person().print(); new Student().print(); }class Student extends Person{ public String get...原创 2019-06-22 09:39:18 · 401 阅读 · 0 评论