
Java
MsjGodBoy
这个作者很懒,什么都没留下…
展开
-
进制转换算法
问题:设计算法,将一个十进制整数转换成二进制输出问题描述:对于任意整数,可以将其分成两个整数之和。第一个整数是能够被除数整除的部分,第二个整数是余数,即number=(number/divisor)*divisor+number mod divisor。先得到的余数是低位的,需要后输出;后得到的余数是高位的,需要先输出。这正好符合了栈结构。代码实现:package com.ja原创 2016-09-07 22:19:55 · 274 阅读 · 0 评论 -
折半查找
问题解析:折半查找算法要求元素有序(通常是升序)并使用顺序存储。其核心思想是将查找区分成两部分,每次与中间码进行比较,如果等于则直接返回;如果大于则查找右半部分;如果小于则查找左半部分。一次重复这个过程,直到查找成功或失败。代码实现:package com.java.test;import java.util.Arrays;public class Demo10 { pub原创 2016-09-07 22:15:35 · 385 阅读 · 0 评论 -
水仙花数
问题解析:所谓水仙花数就是一个数等于组成该数各个位的立方和,例如370=3^3+7^3。由于计算量比较小,可以使用简单的循环语句来完成。对于不同位数的数字,可以进行分段讨论。代码实现:package com.java.test;public class Demo9 { public static void main(String[] args) { //计算0~9中的水仙花原创 2016-09-07 21:42:47 · 205 阅读 · 0 评论 -
百钱百鸡问题
问题描述:假设公鸡5元一只,母鸡3元一只,小鸡一元3只,要求使用100元买100只鸡问题解析:假设购买公鸡x只,母鸡y只,小鸡z只,则存在如下关系x+y+z=100;5x+3y+z/3=100;由此得到y=25-7x/4;z=75+3x/4。因为x,y,z必须是整数,因此x必须能够被4整除。由于y不能是负数,因此x的范围在0~12之间,包括端点代码实现:package com.原创 2016-09-07 21:28:02 · 465 阅读 · 0 评论 -
韩信点兵问题算法
问题描述:韩信带兵不足百人,3人一行排列多一人,5人一行排列正好,7人一行排列少两人,求士兵的人数?问题解析:假设士兵的人数为x人,则需要(x-1)/3是整数,x/5是整数,(x+2)/7是整数。代码实现如下:package com.java.test;public class Demo7 { public static void main(String[] args)原创 2016-09-07 21:17:22 · 9221 阅读 · 0 评论 -
Java的for循环应用
编写一个程序输出如下:实现代码:package com.java.demo;public class Demo009 { public static void main(String[] args) { for (int i = 0; i < 6; i++) { for (int j = 0; j <= i; j++) { System.out.print(i原创 2016-09-07 16:43:21 · 348 阅读 · 0 评论 -
加密算法之MD5与SAH-1
示例代码:package com.java.test;import java.security.MessageDigest;public class Demo3 { public static void main(String[] args) { Demo3 demo = new Demo3(); System.out.println(demo.digestString("原创 2016-09-07 10:57:57 · 654 阅读 · 0 评论 -
快速排序
算法介绍:设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。一趟快速排序的算法是:设置两个变量i、j,排序开始的时候:i=0,原创 2016-09-07 07:54:36 · 200 阅读 · 0 评论 -
插入排序
插入排序的基本思路:将要排序的数组分成两部分,每次从后面的数组部分中取出索引最小的数组元素,插入到前面数组部分的适当位置中。通常在开始排序时,将数组的第一个元素作为一组,后面的所有元素被当成另一组。代码实现: public int[] insertionSort(int[] array) { //把第一个元素看做一部分,第二个元素看做另一部分 //从第二部分中依次取出元素插入到第一原创 2016-09-06 23:44:36 · 186 阅读 · 0 评论 -
选择排序
n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。②第1趟排序在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。......③第i趟排序第i趟排序开始时,当前有序区原创 2016-09-06 23:31:12 · 198 阅读 · 0 评论 -
冒泡排序
冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。代码实现:public int[] bubbleSort(in原创 2016-09-06 23:12:26 · 191 阅读 · 0 评论 -
equals()和hashCode()区别?
equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数。根类Object的hashCode()方法的计算依赖于对象实例的D(内存地址),故每个Object对象的hashCode都是唯一的;当然,当对象所对应的类重写了hashCode()方法时,结果就截然不同转载 2016-08-28 23:19:30 · 358 阅读 · 0 评论 -
001——jdk环境配置
下载安装jdk右击我的电脑-属性-高级系统设置-环境变量添加变量JAVA_HOME,变量值为:jdk的安装路径,如我的是F:\itachi\itachi00添加环境变量CLASSPATH,变量值为:.;JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 设置path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin原创 2016-07-10 23:49:11 · 234 阅读 · 0 评论