
Java实用
文章平均质量分 53
shuiziliu1025
这个作者很懒,什么都没留下…
展开
-
Java从键盘输入值
程序开发过程中,需要从键盘获取输入值是常有的事。 列出几种方法: 方法一:从控制台接收一个字符,然后将其打印出来 public static void main(String [] args) throws IOException{ System.out.print(“Enter a Char:”); char i = (char) System.in.read();原创 2015-08-12 20:38:13 · 803 阅读 · 0 评论 -
已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。
已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)原创 2016-09-12 17:02:42 · 9310 阅读 · 1 评论 -
连续子数组的最大和
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住? 主要是利用动态规划的思原创 2016-09-01 15:03:08 · 331 阅读 · 0 评论 -
java 字节流和字符流的区别
字节流和字符流的使用非常相似,两者除了操作代码上的不同之处,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是对文件本身直接操作的。而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。如下图所示。下面以两个写文件的操作为主进行比较,但是在操作时,字节流和字符流的操作完成之后都不关闭输出流。在java中IO操作也是有相应步骤的,以文件步骤为例,主要的操作流程原创 2016-09-15 17:29:35 · 483 阅读 · 0 评论 -
java Collection和Collections的区别
1、java.util.Collection是一个集合接口,提供对集合对象进行基本操作的通用方法。Collection接口在java类库中有很多具体实现。CollectionListLinkedListArrayListVectorStackSet2、java.util.Collections是一个包装类。它包含各种集合的静态多态方法,不能被实例化,就像一个原创 2016-09-16 09:42:53 · 354 阅读 · 0 评论 -
Java中HashMap和HashTable的区别
1、继承不同public class HashMap extends AbstractMap implements Mappublic class HashTable extends Dictionary implements Map2、HashTable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的情况下,可以直接使用HashTable,但要使用Has原创 2016-09-16 10:04:57 · 402 阅读 · 0 评论 -
TCP和UDP的区别(socket)
TCP和UDP的区别1、TCP是面向连接的,而UDP是无连接的;2、对系统资源的要求(TCP较多,UDP较少);3、UDP程序结构较简单;4、流模式与数据报模式 -TCP保证数据的正确性,UDP可能丢包。TCP保证数据的顺序,UDP不能保证,所以TCP是可靠的,UDP是不可靠的。java编程区别TCP是java.net.ServerSocket(服务端)和java.net.原创 2016-09-17 16:52:18 · 796 阅读 · 0 评论 -
Java面试题全集(上)
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的优快云博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补转载 2016-09-18 12:47:41 · 1048 阅读 · 0 评论 -
java throws和throw的区别
抛出异常抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常。下面它们之间的异同。系统自动抛异常当程序语句出现一些逻辑错误、主义错误或类型转换错误时,系统会自动抛出异常。如:public static void main(String[] args) { int a = 5, b =0; System.out.println(5/b);转载 2016-09-18 20:33:15 · 380 阅读 · 0 评论 -
java 中的Exception RuntimeException 区别
在java面试中经常会询问Exception和RuntimeException的区别。在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常。请看以下一段代码:字符串变为整型class test { public static void main(String[] args) { String str = "1原创 2016-09-18 21:10:51 · 907 阅读 · 0 评论 -
Java设计模式-工厂设计模式
工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。工厂模式的形态工厂模式主要用一下几种形态:1:简单工厂(Simple Factory)。2:工厂方法(Factory Method)。3:抽象工厂(Abstract Factory)。简单工厂(Simple Factory)又叫静态工厂,是工厂模式三中状态中结构最为简单的。主要有一个静态转载 2016-09-19 15:02:51 · 396 阅读 · 0 评论 -
常见软件测试笔试题
1、测试用例的设计方法有哪些?请阐述判定表设计测试用例的步骤。答:等价类划分,边界值分析,错误推断法,因果图法,正交表分析法,场景分析法。判定表设计测试用例的步骤:确定规则的个数;列出所有的条件桩和动作桩;填入条件项,得到初始判定表;简化合并相似规则。2、自动化测试框架有哪几种?答:模块化框架,函数库框架;关键字驱动测试框架;数据驱动框架。3、测试覆盖率分为哪几原创 2016-09-19 21:38:23 · 37540 阅读 · 1 评论 -
实现一个函数,将字符串中的空格替换成"%20"
请实现一个函数,将字符串中的每个空格替换成"%20",例如输入"We are happy.",则输出"We%20are%20happy."public class test { public static void main(String[] args) { String str = "We are happy."; char[] ch = str.toCharA原创 2016-10-10 11:14:23 · 1528 阅读 · 0 评论 -
两个有序数组合并成一个有序数组
public static int[] merge(int[]a,int[] b){ int [] res = new int[a.length+b.length]; int i=0,j=0,k=0; while(i<a.length&&j<b.length){ if(a[i]<=b[j]){ res[k] = a[i]; i++;k++; }else原创 2016-09-12 11:00:59 · 524 阅读 · 0 评论 -
求一个整数数组的最大元素,用递归方法实现
求一个整数数组的最大元素,用递归方法实现public static int maxNum(int[] a, int start){ int len = a.length-start; if(len==1) return a[start]; else { return Math.max(a[start],maxNum(a, start+1) ); }}非递归原创 2016-09-12 16:15:55 · 3697 阅读 · 0 评论 -
查找子串
不调用任何系统函数,实现一个字符串查找子串的函数,如果包含字串,则返回该字符串的位置值,如果不包含,则返回-1。public static int search(String a, String b){ int i=0,j=0; char[] c = a.toCharArray(); char[] d = b.toCharArray(); while(i<c.length&原创 2016-09-12 14:55:53 · 556 阅读 · 0 评论 -
java实例 N的阶乘末尾有多少个0
最近看到一个笔试题目说是100的阶乘的末尾有多少个0? 例如N=10,N的阶乘=3628800,末尾有两个0。一个数 N 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数, 而 2 的个数是远远多余 5 的个数的, 因此求出 5 的个数即可. 题解中给出的求解因子 5 的个数的方法是用 n 不断除以 5, 直到结果为 0, 然后把中间得到的结果累加. 例如,原创 2015-08-17 21:45:17 · 1556 阅读 · 0 评论 -
java实例:1的数目
给定一个正整数N,写下从1开始到N的所有整数,然后数一下其中出现1的个数。例如 N=3, 1,2,3 出现1个1N=11, 1,2,3,4,5,6,7,8,9,10,11 出现4个1解法1:从1 开始遍历到N,将其中每一个数中含有1的个数加起来,就得到所有1的个数。程序清单:class count1num{ public int c原创 2015-08-16 19:42:20 · 499 阅读 · 0 评论 -
Java的static关键字解析
转载: http://www.cnblogs.com/dolphin0520/p/3799052.html1. static关键字的用途(1)static方法在《Java编程思想》P86页有这样一段话:“static方法就是没有this的方法,在static方法的内部不能调用非静态方法,反过来则可以。而且可以在没有任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正转载 2016-03-26 16:51:32 · 322 阅读 · 0 评论 -
Java enum(枚举)使用详解
用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。enum Color{ Red, Green, Blue; }用法二:遍历、switch 等常用操作public class Test { public static void main(原创 2016-05-24 21:22:31 · 326 阅读 · 0 评论 -
Java中String、StringBuffer、StringBuilder的区别
Java笔试题经常考到“String、StringBuffer和StringBuilder的区别”,对于三者区别网上已经有很多,实际应用中也要主要到三者的区别。1、可变与不可变String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的,不能被继承。private final char value[];StringBuilde原创 2016-05-30 17:16:21 · 287 阅读 · 0 评论 -
Java 正则表达式
Java常用的正则规范如下图所示:原创 2016-05-30 21:46:57 · 284 阅读 · 0 评论 -
Java中重载和重写的区别
今天学习了Java中的重写,重载的相关问题,决定自己整理下做个总结,以便以后的学习巩固与重温。1.重载重载最初是用在构造方法上,构造方法的名称是由类名决定,所以构造方法只有一个,但是如果希望以不同的方式来实例化对象的话,就需要使用多个构造方法来完成。虽然方法重载起源于构造方法,但是可以用到其他方法中。因此方法的重载就是在同一个类中允许同时存在一个以上的方法名相同,但是这些方法的参数原创 2016-03-29 11:46:05 · 295 阅读 · 0 评论 -
Java中值传递与引用传递
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值得改变不影响实际参数的值。引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值得改变会影响实际参数的值。public class PassValue{原创 2016-06-02 10:32:36 · 339 阅读 · 0 评论 -
挑大写字符
编写一个函数,将字符串中的大写的字母(A~Z)挑出来,同时保留原字符串中的空格,将挑出的大写字母和空格按原始位置组成新的字符串。 例如: 1)输入:AUStralia; 输出:AUS 2)输入:He Is a DoG 输出:H I DG 时间限制:1 Sec 空间限制:128 MByteimport java.util.Scanner; public class Main{原创 2016-07-31 21:20:31 · 2368 阅读 · 0 评论 -
华为机试-文件摘除
一个文件夹可以加入文件,binding 20;也可以摘除文件,remove 10;如果摘除文件数目大于加入文件数目,则显示文件夹文件数目为current 0;当输入end结束命令时显示当前文件个数。 输入样例:binding 20 remove 10 binding 20 remove原创 2016-07-31 21:26:31 · 389 阅读 · 0 评论 -
华为机试-设计一个定时器管理系统
设计一个定时器管理系统,可以动态启动、停止定时器,并能根据已失去的时长自动调整剩余的时间。 运行时间限制:1Sec 内存限制:无限制 输入:启动定时器:starttimmer: ID, time 举例: starttimmer: 1, 1000 启动一个定时器,其ID为1,定时时长time为1000ms 注:定时器ID用例保证非负整数,定时时长一定为正整数 停止定时器:stoptim原创 2016-07-31 21:32:15 · 1675 阅读 · 0 评论 -
单链表的反转-Java实现
public class Node { public int data; public Node next; public Node(int data){ this.data = data; this.next = null; }}public class LinkedList { private Node root; public void insert(int dat原创 2016-09-12 10:35:16 · 442 阅读 · 0 评论 -
反转数字
用算法实现将一个输入的数字颠倒(输入12345->54321),要求不调用任何系统函数,也不能将输入的数字转换为字符串作为中间过渡。public static int ReverseNumber(int n){ int num = 0; while(n>0){ num = num*10 + n%10; n = n/10; } return num;}原创 2016-09-12 14:54:13 · 396 阅读 · 0 评论 -
Mysql中exists和in的区别
最近在看各种大牛博客中关于MySQL处理海量数据时用到的一些优化查询方法,其中涉及到exists和in的使用效率的对比。现在有两个表A,B表。这条语句适合于A表比B表大select * from A where id in (select id from B);这条语句适合于B表比A表大select * from A where id exists (select原创 2016-11-04 15:55:06 · 833 阅读 · 0 评论