- 浏览: 48659 次
- 性别:
- 来自: 北京
最新评论
文章列表
题目:给一个数组,打印出所有的排列
import java.util.Arrays;
public class Pailie {
int b[]; //保存结果
int a[];
Pailie(int [] a){
b = new int[a.length];
this.a=a;
}
public void backTrack(int begin){
if(begin==a.length)print(b); //递归的底部了
else
{ //比如1234 begin=1那么(1)234 经过这 ...
求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
第一种解法 递归,用hashmap 来选择A和SumN的不同sum方法,最终用A的sum方法终止递归。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
class A{
public long sum(long i){
return 0;
...
转载自水木社区
关于读书、学习与创新的几点思考
我常常在想一个问题,一个人的创新能力从何而来、又从何而去?
如果说读书学习是创新的源泉,可以从旧有的知识 ...
1.注解 三种内置标准 @Override 确保覆盖超类方法 @Deprecated 此方法过期,警告此用途 @SuppressWarnings 关闭不当警告 四种元注解(负责注解其他注解) @Target CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,PARAMETER,TYPE @Retention 什么级别保留注解信息 SOURCE 编译器丢弃 CLASS class可用,vm丢弃 RUTIME vm保留 @Documented 将注解包含在javadoc中
@Inherte ...
1.静态导入enum public enum Spiciness{NOT,MILD,MEDIUM,HOT,FLAMING } 在其他类中应用如果 import static package.Spiciness.*; 那么在直接用NOT就行,不用enum类型修饰enum的实例。 如果enum在默认包里,或者在同一文件里,则无法使用这一特性。2.enum中添加方法 enum除了不能继承自一个enum,基本可以看成一个常规类。可以有方法,甚至有main方法。所有的枚举值都是public,static,final3.switch和enum结合 如: enum Signal{GREEN,YE ...
1.File类
File既可以代表一个文件,又可以是一组文件。FilePath更适合File类。
2.输入输出
流
代表又能产出数据的数据源对象或者有能力接受数据接收端对象。
java中流类库让人迷惑主要原因是:创建单一的结果流,却需要创建多个对象。
java.io.InputStream
_______________________|______________________________
| |
Byte ...
1.填充容器 List<String> list = new ArrayList<String>(Collections.nCopies(4,new String("Hello"))); 填充了四个的指向同一对象的引用。 Collections.fill(list,new String("Hello")); fill的功能更为有限,只能替换List中存在的元素,不能添加新的元素。2.HashSet 以某种神秘的顺序保存元素,TreeSet则保持有序降序,LinkedHashSet既保持速度,维护了插入的次序。 Sorted ...
1.数组和其他容器的区别效率,类型和保存基本类型的能力。效率是以数组大小被固定的代价换来的。在泛型之前,容器的对象都被当做object,而数组则可以限制某种类型。其他容器通过包装基本类型来保存。
2.对象和基本类型数组
对象数组保存引用。
基本类型数组保存值。
3.粗糙数组
维度长度不一数组。int[][][] a = new int[rand.nextInt(7)][][]; for(int i = 0; i < a.length; i++) { a[i] = new int[rand.nextInt(5)][]; for(int j = 0; j & ...
1.类型参数 public class Holder<T> 不用特别指定具体类型。2.返回多个对象 元组:将一组对象存在单一对象。也称为数据传送对象。 public class Tuple<A,B>3.基本类型无法作为类型参数。4.泛型方法 原生类型<T> public & ...
1.rtti Runtime Type Information 运行时类型信息
2.Class c = Class.forName("类名") 获得一个class对象的引用,而不要该类型的对象。 c.getName 全限定名(包含包名) c.getSimpleName() 不含包名的类名 c.getCanonicalName() 全限定类名 c.newInstance我不知道你的确切类型,但是无论如何要正确创建自己,需强制类型转换,类必须有默认构造器。3.类字面量常量 如boolean.class返回一个安全,编译时受检查的Class对象的引用。 使用.cla ...
1.String对象不可变string一旦创建则不可改变,任何对String的修改,实际是建立了一个全新的对象。
2.格式化输出 Formatter类用法 Formatter f = new Formatter(System.out); f.format("%-5.7s","hello");//左对齐最少显示5个字符,不足用空格补齐,最多显示7个字符。f.format("%5d","hello"); //右对齐,显示五位数字,如果5.5d则会抛异常f.format("%-5.7f",&qu ...
1.异常参数所有标准异常类都有两个构造器:一个是默认的,另一个是以字符串作为参数的。throw new NullPointerException("this is null");
2.捕获异常
如果方法内部抛出异常,则结束,要是不希望结束,加上trytry{//code that might generate exceptions}catch(){
}
3.创建自定义异常,java提供的异常体系不可能预见所有的错误。对于异常来说最重要的就是类名,大多数情况下已经够用。
class SimpleException extends Exception{}捕到异常后e.p ...
1.内部类定义将一个类的定义放在另一个类的定义内部,内部类了解外围类,并能与之通信。
2. .this 和.new.this返回外围类的引用。public class DotThis { public class Inner { public DotThis outer() { return DotThis.this; } }
.new 创建内部类,如果是非静态的内部类,得先创建外围类,然后才是内部类。public class DotNew { public class Inner {} public static void main(String[] args ...
汉语自动分词小结
- 博客分类:
- 自然语言处理 NLP
中文分词存在的问题是分词规范(怎么才算是一个词)和歧义切分(交集型歧义:结合成且为结合|成、结|合成。组合型歧义:他站|起|身|来。他明天|起身|去北京。),以及未登录词,如中文名准确率较高,外文译名准确率很低,地名可以由词表解决,组织机构名词表可以解决部分。
分词方法总的分为基于词表和基于统计和规则。
正向最大匹配、逆向最大匹配法、双向扫描、逐词遍历法都是基于词表的。基于词表可以解决普通词汇分词问题,此外可以针对歧义切分,有N-最短路径(先基于词表粗分,由词构有向无环图,dijkstra贪心找最短路径,包含最优词序)、HMM隐马尔科夫(初始状态(词性)概率矩阵、状态转移矩阵(词性到词性)、 ...
1.数组和其他容器的区别效率,类型和保存基本类型的能力。效率是以数组大小被固定的代价换来的。在泛型之前,容器的对象都被当做object,而数组则可以限制某种类型。其他容器通过包装基本类型来保存。
2.对象和基本类型 ...