Java基础
璐璐丫头
这个作者很懒,什么都没留下…
展开
-
Java基础-数据序列化之序列化框架的使用
为什么要序列化?现在开发过程中经常遇到多个进程多个服务间需要交互,或者不同语言的服务之间需要交互,这个时候,我们一般选择使用固定的协议,将数据传输过去,但是在很多语言,比如java等jvm语言中,传输的数据是特有的类对象,而类对象仅仅在当前jvm是有效的,传递给别的jvm或者传递给别的语言的时候,是无法直接识别类对象的,那么,我们需要多个服务之间交互或者不同语言交互,该怎么办?这个时候我们就需要...原创 2020-04-14 12:41:07 · 206 阅读 · 0 评论 -
java Math.round()
1. 四舍五入要用java.lang.Math中的round()方法。2. java Math.round() public class MathTest { public static void main(String[] args) { System.out.println("小数点后第一位=5"); System.out原创 2013-12-29 15:56:54 · 904 阅读 · 0 评论 -
内部类和外部类
内部类: 内部类是一个单独的类,可以随意直接访问外部类的所有变量(包括private),这是通过this 的关系形成的,使得内部类的对象可以随意的访问外部类的所有成员,在内部类中访问外部类的覆盖成员可以用classname.this。 内部类可以放在函数中,条件中,语句块中,不管它嵌套多深,都可以随意访问外部类。非静态的内部类中不能定义静态的变量和方法,静态内部类只能访问外部类原创 2013-11-18 16:02:40 · 1279 阅读 · 0 评论 -
java.util.Date和java.sql.Date的区别及应用
java.util.Date 就是在除了SQL语句的情况下面使用java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分它都有getTime方法返回毫秒数,自然就可以直接构建java.util.Date d = new java.util.Date(sqlDate.getTime());... -------------------------------转载 2013-06-08 10:55:37 · 590 阅读 · 0 评论 -
序列化(Serializable接口)
序列化是什么:序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。序列化有什么特点:如果某个类能够被序列原创 2013-06-08 11:40:55 · 809 阅读 · 0 评论 -
最长公共子序列和最长公共子串
10.5 例题:最长公共子序列 问题描述 我们称序列Z = 是序列X = 的子序列当且仅当存在严格上升的序列,使得对 j = 1, 2, ... ,k, 有 xij = zj。比如Z = 是 X = c, f, b, c >的子序列。 现在给出两个序列 X和 Y,你的任务是找到 X和 Y的最大公共子序列,也就是说要找到一个最长的序列 Z,使得 Z 既是X的子序列也是原创 2013-04-22 14:39:58 · 883 阅读 · 0 评论 -
求多个数的最小公倍数
求三个数的最小公倍数的思路:分解质因数,当剩下的三个数没有公因数时找两个数之间有没有公因数,再约,另一个不变。做到两两互质。再将因数,约分后的数相乘。求最大公因数,就是看三个数都能除尽的最大的数步骤:1 每两个数之间约到没有公因数,得到的数两两互质(重点 如何根据给的三个数得到两两互质的三个数) 2 得到的两两互质的数相乘的结果就是三个数的最小公倍数求两个数的最大公因数 两个原创 2013-04-23 16:19:31 · 2873 阅读 · 0 评论 -
括号匹配问题
实现一:import java.util.Scanner;import java.util.Stack;/*括号匹配 * 括号配对问题时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,原创 2013-05-22 16:06:23 · 1110 阅读 · 0 评论 -
黄金队列,汉诺塔,奇怪的比赛,第一个数字,割圆,最大数,矩形的交集和并集,趣味算式(第三届蓝桥杯Java本科预赛试题)
/*黄金队列求鲁卡斯队列 * 黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子.... 黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似原创 2013-05-03 17:11:09 · 2050 阅读 · 0 评论 -
泊松分酒
问题一:问题描述 有一个酒瓶装八斤酒没有量器只有分别装五斤和三斤的空酒瓶。设计程序将八斤酒分为两个四斤求出最少步骤。 输入 问题无需输入。 输出 输出最少步数或者最少步数下的倒酒过程纯数学解决该问题方法原理 解决问题的一套规则:1. 大瓶子只能倒入中瓶子2. 中瓶子只能倒入小瓶子3. 小瓶子只能倒入大瓶子 4. 小瓶子只有在已经装满的情况下才能倒入大瓶子原创 2013-05-03 16:35:17 · 2448 阅读 · 0 评论 -
Android Paint类
Android Paint类要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: setAntiAlias: 设置画笔的锯齿效果。 setColor: 设置画笔颜色 setARGB: 设置画笔的a,r,p,g值。 s转载 2013-11-18 16:03:23 · 882 阅读 · 0 评论 -
Android 几种屏幕间跳转的跳转Intent Bundle
屏幕使用一个活动来实现,屏幕间是相互独立的,屏幕之间的跳转关系通过Intent来实现。屏幕间跳转分为以下几类:1. 屏幕1直接跳转到屏幕2 Intent intent = new Intent(); intent.setClass(屏幕1活动名.this,屏幕2活动名.class); startActivity(intent); fi原创 2013-12-29 14:25:48 · 1863 阅读 · 0 评论 -
自动更新 -- 版本号比较(2)
版本号比较在实现自动更新的时候,需要进行版本号的比较。例如: 1.0.6 和1.0.7比较大小解决方案:将版本号的字符串转换成整数来比较。步骤:1. 去除字符串中的小数点。(使用正则表达式)2. 比较两个字符串的长度,长度短的后尾补0,直到两个字符串长度相同。(为了实现 1.0.5.1与1.0.6的比较)。3. 将两个字符串转换成整数比较。代码如下:// 正原创 2014-11-12 11:46:50 · 1543 阅读 · 0 评论 -
自动更新--解析xml文件(1)
1. 解析xml文档1.1 根据字符串类型的文件名字解析xml文件/** 解析xml文件* xml文件实例如下: ddviplinux m 30 李路 女 20 * */public void parseXml(String fileName) { try { DocumentBuilderFactory d原创 2014-11-11 17:23:42 · 1462 阅读 · 0 评论 -
在sd卡中创建文件夹和文件
本文以在sd卡中创建文件和文件夹为例,讲述如何创建文件夹和文件的重点。1. 路径问题(下面的例子是在Java中测试的,在Android中同样适用)1.1 如果需要在文件夹中创建文件的文件夹存在,直接创建文件即可。例如:File file = new File("F:/1.png");1.2 如果需要在文件夹中创建文件的文件夹不存在,需要首先创建文件夹。例如: File file原创 2014-09-17 13:50:06 · 4619 阅读 · 1 评论 -
windows下如何下载android源码
在网上找了好久都没有找到如何批量下载,只是找到有位通过角本执行来进行下载的。试了一下在我机器上运行有问题,所以索性自己搞了一个出来。首先根据官方的说法要下载git,这个无论如何是要下载的。点击安装,安装完成后,在盘符上建立文件夹,我建在E:\android src下右键选择Git bash弹出如下界面下面就是整理下载的过程了,如果只需要下载其中的一个包,那么就不转载 2014-02-24 16:12:23 · 865 阅读 · 0 评论 -
字符串null和“”的区别
String str1 = null; str1引用为空。String str2 = ""; str2引用一个空串。1. null没有分配空间,""分配了空间,因此str1还不是一个实例化的对象,而str2已经实例化。注意:(1)因为null不是对象,""是对象。所以比较的时候必须是 if(str1==null){...}和if(str2.equals("")){...}。(2原创 2014-08-27 12:21:09 · 1120 阅读 · 1 评论 -
Java实现泛型委托类似C#Action<T>
一、C# Action 泛型委托(帮助理解委托)描述:封装一个方法,该方法只采用一个参数并且不返回值.语法:public delegate void Action(T arg);T:参数类型:此委托封装的方法的参数类型arg:参数:此委托封装的方法的参数备注:通过此委托,可以将方法当做参数进行传递.Action 泛型委托:封装一个方法,该方法只采用一个参数并原创 2014-08-26 13:03:41 · 6023 阅读 · 0 评论 -
Java方法输出参数
在写Java代码的时候,自定义方法的时候,都会牵扯到参数问题,方法参数包括输出参数和输入参数。下面主要说说输出参数:1.没有输出参数的时候就直接把输出参数写成void就可以。2.当输出参数只有一个数据的时候,直接返回输出参数直接写成输出数据的类型就行。3.当输出多个数据且类型一致的时候,使用数组,集合等等也可以实现。4.当输出多个数据但是数据类型不一致的时候,此时就比较麻烦。此原创 2014-08-07 15:28:36 · 6920 阅读 · 0 评论 -
HTTP请求:GET与POST方法的区别
(1)get是从服务器上获取数据,post是向服务器传送数据。根据 HTTP 规范,GET 用于信息获取,而且应该是安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,它可以确信从自身的角度来看没有改变原创 2014-01-14 11:35:59 · 1384 阅读 · 0 评论 -
java内存回收机制
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆是由垃圾回收机制来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存原创 2013-12-27 15:05:50 · 3517 阅读 · 0 评论 -
密匙单词加密(加密问题)
题目要求:一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串。2.紧接其后,按字母序按行填入不在密钥串中的字母。3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥为youandme,则该方阵如下: y o原创 2013-05-01 15:40:03 · 2088 阅读 · 0 评论 -
数字旋转方阵和上三角(递归问题)
数字旋转方阵:数字方阵大小是N * N;要求:输入一个整数N(4《=N《=15)输出要求如下:每个子的输出宽度为4用递归实现,一圈一圈来填充 没一圈填充都包括向下,向右,向上,向左四种操作,还要注意一圈完成无调用下一圈的参数import java.util.Scanner;//数字旋转方阵public class DigitTu原创 2013-05-02 08:34:01 · 1543 阅读 · 0 评论 -
0/1背包问题(递归解决,递推解决)
0-1背包问题: 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 这个问题的特点是:每种物品只有一件,可以选择放或者不放。输入格式:V,NW1,V1W2,V2......输出格式: X 帮助理解:比如01背包问题。/* 一个旅行者有一原创 2013-05-02 11:38:52 · 8256 阅读 · 0 评论 -
求多边形面积,直线,折现,z型线分平面(数学问题)
在坐标系中求多边型的面积:思路:取一个多边形其中一个顶点(x0,y0),从他开始向其他的顶点连线,分成(n-2)个三角形,设每个三角形的另两个顶点为(x1,y1),(x2,y2),则这个三角形面积为(|(x1-x0)*(y2-y0)|+|(x2-x0)*(y1-y0)|)/2,多边形的面积就是所有三角形的面积和三角形的面积公式的由来用向量来表示三角形的面积是1/2*a*原创 2013-04-27 10:52:44 · 1427 阅读 · 0 评论 -
二阶魔方(仿真问题)
题目:魔方可以对它的6个面自由旋转。我们来操作一个2阶魔方(如图1所示):为了描述方便,我们为它建立了坐标系。各个面的初始状态如下:x轴正向:绿x轴反向:蓝y轴正向:红y轴反向:橙z轴正向:白z轴反向:黄假设我们规定,只能对该魔方进行3种操作。分别标记为:x 表示在x轴正向做顺时针旋转y 表示在y轴正向做顺时针旋转原创 2013-04-26 12:41:25 · 2770 阅读 · 0 评论 -
质因子分解
题目:请写一个程序,读入一个正整数,把它的所有质因子以及质因子的次方找出来。例如,输入是27,27 = 2^3 * 3^2,于是质因子就有2与3,质因子的次方分别是3,2;如果输入是181944,那么因为181944 = 2^3 * 3^2 * 7 * 19^2,所以质因子为2、3、7、19,质因子的次方分别是3,2,1,2。思路:从质数2开始依次求质数的次方,每个质数的次方加1后,就将给的数原创 2013-04-26 10:10:48 · 1368 阅读 · 0 评论 -
关灯问题(数学问题,因子解决)
关灯问题问题1:大厅里有100盏灯,每盏灯都编了号码,分别为1-100。每盏灯由一个开关来控制。(开关按一下,灯亮,再按一下灯灭。开关的编号与被控制的灯相同。)开始时,灯是全灭的。现在按照以下规则按动开关。第一次,将所有的灯点亮。 第二次,将所有2的倍数的开关按一下。 第三次,将所有3的倍数的开关按一下。 以此类推。第N次,将所有N的倍数的开关按一下。 问第100次按完原创 2013-04-25 12:16:15 · 4273 阅读 · 0 评论 -
整数N的因子个数和N!的因子个数(数学问题)
N的因子个数:条件:给定任意一个一个正整数N要求:求其因子的个数首先给出结论:对于任意的整型N,分解质因数得到N= P1^x1 * P2^x2* …… * Pn^xn;(p1,p2,p3...pn是质数2,3,5,7..........)则N的因子个数M为 M=(x1+1) * (x2+1) * …… *(xn+1);解析:如果N的因子的个数用上面的思路求的话,分解质因数的时候原创 2013-04-25 10:19:18 · 4051 阅读 · 0 评论 -
海盗分酒(数学问题)
海盗分酒题目描述:有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复......直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝原创 2013-04-24 22:06:39 · 1972 阅读 · 0 评论 -
孙子问题(同余定理)
描述 我国古代《孙子算经》中,记有如下算题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”并给出得数:“答曰:23。”为解决这个问题民间流传了如下歌诀:“三人同行七十稀,五树梅花廿一枝,七子团员正半月,除百零五便得知。”把上面的问题说得明白一点就是:有一个正整数N,除以3的余数是2,除以5的余数是3,除以7的余数是2,要求这个数。民间给出的解法是:把N除以原创 2013-04-24 12:30:04 · 6061 阅读 · 2 评论 -
Java大数类处理的简单程序
大数阶乘题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=28代码如下:[java] view plaincopyprint?1. import java.io.*; 2. import java.math.BigInteger; 3. import java.util.*; 4. 5. publi原创 2013-04-24 17:53:49 · 789 阅读 · 0 评论 -
筛法求100002(十万零二)个素数
题目:素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,... 请问,第100002(十万零二)个素数是多少?请注意:2 是第一素数,3 是第二个素数,依此类推。程序如下://求第十万零2个素数public class SuShu { /** * @param原创 2013-04-24 17:38:45 · 1836 阅读 · 0 评论 -
母函数(数学问题)
生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。普通型母函数定义:对于任意数列a0,a1,a2...an 即用如下方法与一个函数联系起来:G(x) = a0 + a1x + a2x*2原创 2013-04-27 09:07:18 · 1559 阅读 · 0 评论 -
排序的几种方法(合并,快速,冒泡排序)
合并排序:合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序原创 2013-04-28 11:00:31 · 948 阅读 · 0 评论 -
几个简单递归问题(菲波那契数列 ,二叉树,逆波兰式)
9.2 例题:菲波那契数列 问题描述 菲波那契数列是指这样的数列:数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。给出一个正整数 a,要求菲波那契数列中第 a 个数是多少。 输入数据 第 1 行是测试数据的组数 n,后面跟着 n 行输入。每组测试数据占 1 行,包括一个正整数 a(1 输出要求 n 行,每行输出对应一个输入。输出应是一个原创 2013-04-29 15:12:58 · 1955 阅读 · 0 评论 -
棋盘分割 错误账目(递归问题 枚举 回溯)
棋盘分割 将一个8*8的棋盘进行如下分割: 将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行) 图 9-5 棋盘分割示意图 原棋盘上每一格有一个分值,一块矩形棋盘的原创 2013-05-01 11:25:10 · 965 阅读 · 0 评论 -
第三届蓝桥杯复赛题解析
第三届蓝桥杯复赛题解析第三届蓝桥杯复赛题原题:http://www.cnblogs.com/AkQuan/archive/2012/04/10/2440370.html第一题: 1 #include 2 int main() 3 { 4 long int X=10, Y=90; 5 for(int k=1; k120; k++)//半分钟一个单位转载 2013-05-01 17:50:11 · 907 阅读 · 0 评论 -
圆周率,孪生素数,反转串,最近距离,基因牛,迷宫问题(2011年蓝桥杯预赛java本科组试题)
2011年 选拔赛 java 本科考生须知:考试时间为4小时。本试卷包含两种题型:“代码填空”与“程序设计”。总计100分。其中代码填空:3+4+5+7+9+19 = 47 分程序设计:12+17+24 = 53分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即不能出现分号)。把填空的答案(仅填空处的原创 2013-05-01 16:07:18 · 1453 阅读 · 0 评论 -
表格问题(仿真问题)
题目要求在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。 比如: ┌ ─ ┬ ─ ┐ │ │ │ ├ ─ ┼ ─ ┤ │ │ │ └ ─ ┴ ─ ┘ 其实,它是由如下的符号拼接的:原创 2013-05-01 11:00:39 · 671 阅读 · 0 评论