1、要求1000!(1000*999*998...*2*1)的值。
BigDecimal big = new BigDecimal(1);
for(int i=1; i<1001; i++) {
big = big.multiply(new BigDecimal(i));
}
big.setScale(100);
System.out.println(big);
2、用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
解决思路:强化题目,用1、2、2、3、4、5这六个数字排列“递增”序列。其他要求不变。
import java.util.Iterator;
import java.util.TreeSet;
public class TestQuestion {
private String[] b = new String[]{"1", "2", "2", "3", "4", "5"};
private int n = b.length;
private boolean[] visited = new boolean[n];
private int[][] a = new int[n][n];
private String result = "";
private TreeSet set = new TreeSet();
public static void main(String[] args) {
new TestQuestion().start();
}
private void start() {
// Initial the map a[][]
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
a[i][j] = 0;
} else {
a[i][j] = 1;
}
}
}
// 3 and 5 can not be the neighbor.
a[3][5] = 0;
a[5][3] = 0;
// Begin to depth search.
for (int i = 0; i < n; i++) {
this.depthFirstSearch(i);
}
// Print result treeset.
Iterator it = set.iterator();
while (it.hasNext()) {
String string = (String) it.next();
// "4" can not be the third position.
if (string.indexOf("4") != 2) {
System.out.println(string);
}
}
}
private void depthFirstSearch(int startIndex) {
visited[startIndex] = true;
result = result + b[startIndex];
if (result.length() == n) {
// Filt the duplicate value.
set.add(result);
}
for(int j = 0; j < n; j++) {
if (a[startIndex][j] == 1 && visited[j] == false) {
depthFirstSearch(j);
} else {
continue;
}
}
// restore the result value and visited value after listing a node.
result = result.substring(0, result.length() -1);
visited[startIndex] = false;
}
}
* 3,5不能相连:实际要求这个连通图的结点3,5之间不能连通, 可在构造图结构时就满足改条件,然后再遍历图。
代码中请注意这几行:
// 3 and 5 can not be the neighbor.
a[3][5] = 0;
a[5][3] = 0;
3、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
4、谈谈final, finally, finalize的区别
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
5、Error与Exception有什么区别?
Error表示系统级的错误和程序不必处理的异常,
Exception表示需要捕捉或者需要程序进行处理的异常。
6、Collection 和 Collections的区别?
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作
7、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不能
8、Overload和Override的区别?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型
分享到:
相关推荐
"Java题库-175道选择题"提供了一个全面的测试平台,帮助开发者检验自己在这些领域的掌握程度。 1. **Java基础语法**:这方面的题目可能包括变量声明、数据类型、运算符、流程控制(如if-else,switch,for,while等...
这份"自己收集的Java题库"是为教学和自学设计的宝贵资源,包含笔答题和选择题,旨在帮助学生和自学者深入理解Java的核心概念和技术。 笔答题库通常会涵盖更深层次的理解和分析,有助于锻炼读者解决问题的能力和逻辑...
【标题】:“值得学习的java题库” 这个标题暗示了我们面对的是一个包含大量Java编程题目集合的资源,可能是为了帮助学习者提升Java编程技能,准备面试,或是进行自我测试。"值得学习"这个词组表明这些题目具有较高...
"一个很好的JAVA题库" 提供的可能是一系列用于学习和测试Java编程技能的问题集合。这些题目通常涵盖基础语法、面向对象编程、集合框架、多线程、异常处理、输入输出流、网络编程、算法与数据结构等多个方面。 1. **...
Java题库及练习软件系统是一种基于Java编程语言开发的教育工具,旨在帮助用户提升编程技能,尤其是Java语言的学习和实践。这个系统通常包含了各种类型的编程题目,覆盖了基础语法、面向对象编程、集合框架、多线程、...
这份“Java题库”包含了15套题目,旨在帮助学习者深入理解和熟练掌握Java编程技术。下面将对Java的一些核心概念和技术进行详尽的阐述。 1. **基础语法**:Java的基础语法包括变量定义、数据类型(如整型、浮点型、...
基于Java题库管理系统.zip基于Java题库管理系统.zip基于Java题库管理系统.zip基于Java题库管理系统.zip基于Java题库管理系统.zip基于Java题库管理系统.zip基于Java题库管理系统.zip基于Java题库管理系统.zip基于Java...
根据提供的文件信息,我们可以从这份2019年的Java题库中提炼出一系列重要的知识点,这些知识点涵盖了Java语言的基础概念、语法结构以及编程实践等方面。接下来,我们将详细地解析每一道题目背后的知识点。 ### 1. ...
系统分为前台和系统后台管理模块,根据系统用户拥有的角色,展示不同的菜单。试卷管理 ...输入试卷名称,快速搜索相应的书卷信息。... 点击我的成绩,分页展示自己已经参加过的考试成绩列表 开发语言:Java,数据库为MySql
java题库.xls java题库.xls java题库.xls java题库.xls 欢迎下载
在Java题库中,常见的习题类型包括选择题、填空题、编程题等,涵盖了语法、类和对象、异常处理、集合框架、IO流、多线程、网络编程等多个领域。 Java期末考试复习时,应重点掌握这些基础知识,同时理解并能灵活运用...
这里提供的“Java模拟题 Java题库”包含了10套完整的Java练习题目,每套都配有详细的答案,为学习者提供了宝贵的实践机会。 1. **基础语法**:Java的基础语法包括变量、数据类型、运算符、控制结构(如if语句、for...
这份“java题库笔试资料含答案”无疑是准备Java程序员笔试的理想资源。以下将详细阐述Java的相关知识点,涵盖基础语法、面向对象特性、集合框架、多线程、异常处理、输入/输出(I/O)、网络编程、数据库连接以及设计...
二级java 公共基础知识部分30分 专业语言部分 70分 Java语言程序设计 基本要求: 1. 掌握Java语言的特点,实现机制和体系结构。 2. 掌握Java语言中面向对象的特性。 3. 掌握Java语言提供的数据类型和结构。 4. 掌握...
1. 判断题 判断一个叙述的正确与否,例如:“abstract类也可以同时是final类。”(这个叙述是错误的)。“子类在方法重写时,可以把父类的protected方法重写为public方法。”(这个叙述是正确的)。...
标题“java题库,超赞”和描述“这个文档包含了覆盖面极广的java web开发技术常见的问题解答,也是面试时极易被问到的问题”暗示了文档中包含的Java知识点不仅全面,而且具有高相关性,适用于求职者准备技术面试。...
Java题库是一个为Java学习者提供全面、系统、层次丰富的编程题目集合。这个题库旨在帮助Java学习者深入理解和掌握Java编程知识,提高编程技能,为进一步的学习和应用打下坚实的基础。以下是关于Java题库的详细介绍:...
基于Java题库管理系统源码-毕设项目.zip基于Java题库管理系统源码-毕设项目.zip基于Java题库管理系统源码-毕设项目.zip基于Java题库管理系统源码-毕设项目.zip基于Java题库管理系统源码-毕设项目.zip基于Java题库...
这个压缩包文件包含了“java题库”和“scjp模拟题”,是为准备SCJP考试的学习者提供的宝贵资源。 Java题库通常包含了大量的编程题目,涵盖Java语法、面向对象编程、异常处理、多线程、集合框架、输入输出流、网络...