黑马程序员技术交流社区
标题:
基础测试和入学测试
[打印本页]
作者:
wtjohn
时间:
2015-1-20 19:25
标题:
基础测试和入学测试
1、 定义一个二维int数组,编写代码获取最小元素。
2、 Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?
3、 从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三。
4、 编程计算3乘8等于几,什么方法效率更高?
5、 编程打印所有的3位质数,质数特点:只能被1和其本身整除
6、 throw和throws有什么区别? try、catch、finally分别在什么情况下使用?
7、 分析运行结果,说明原理。(没有分析结果不得分)
class A {
void fun1() {
System.out.println(fun2());
}
int fun2() {
return 123;
}
}
public class B extends A {
int fun2() {
return 456;
}
public static void main(String args[]) {
B b = new B();
b.fun1();
A a = b;
a.fun1();
}
}
8、 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
原始字符串是"abc",打印得到下列所有组合情况:
"a" "b" "c"
"ab" "bc" "ca" "ba" "cb" "ac"
"abc" "acb" "bac" "bca" "cab" "cba"
9、 有这样三个类,Person、Student、GoodStudent。
其中GoodStudent继承于Student,Student继承于Person。
如何证明创建GoodStudent时是否调用了Person的构造函数?
在GoodStudent中是否能指定调用Student的哪个构造函数?
在GoodStudent中是否能指定调用Person的哪个构造函数?
10、编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表),例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
复制代码
1、 请说明Java中字符'\'的含义,有什么作用?
2、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.
public void setProperty(Object obj, String propertyName, Object value){
}
3、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
4、 ArrayList<Integer> list = new ArrayList<Integer>(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
5、 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
6、 定义一个文件输入流,调用read(byte[] b)方法将exercise.txt文件中的所有内容打印出来(byte数组的大小限制为5)。
7、 分析以下程序运行结果,说明原理。(没有分析结果不得分)
public class ThreadTest {
public static void main(String args[]) {
MyThread t = new MyThread();
t.run();
t.start();
System.out.println("A");
}
}
class MyThread extends Thread {
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
}
System.out.println("B");
}
}
8、 将字符串中进行反转。abcde --> edcba
9、 在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。
10、 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
复制代码
入学测试被扣了0.6分,估计是注释写得不好吧,总之大家加油~
当时基础第八题纠结了两天,最后写出来个这,希望大家给个更好的方案
/**
* 第八题:一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
原始字符串是"abc",打印得到下列所有组合情况:
"a" "b" "c"
"ab" "bc" "ca" "ba" "cb" "ac"
"abc" "acb" "bac" "bca" "cab" "cba"
* @author John
*
*/
public class Test8 {
public static void main(String[] args) {
String str ="abc";
char[] chs =str.toCharArray();
StringBuilder sb =new StringBuilder();
printChar(chs,sb);
}
private static void printChar(char[] chs,StringBuilder sb) {
// TODO Auto-generated method stub
StringBuilder s =new StringBuilder(sb.toString()); //递归时,保留上一层printChar()中sb的值。
for(int i = 0;i<chs.length;i++)
{
char ch = chs[i];
if(sb.length()==chs.length) /*sb的最大长度即是字符串的长度,也是字符数组的长度。
当达到最大长度时,创建新的StringBuilder,并保留上一层sb中的值,并指向sb。继续循环过程,组成其他组合形式。*/
{
sb = new StringBuilder(s.toString());
}
if(sbhaschar(sb,ch) ) //当sb已有ch,继续循环,尝试其他组合。
{
continue;
}
else
{
sb.append(ch);
}
System.out.println(sb.toString());
printChar(chs,sb);
}
}
private static boolean sbhaschar(StringBuilder sb,char key) { // sbhaschar方法,判断sb中是否含有ch。
// TODO Auto-generated method stub
for(int i = 0; i<sb.length(); i++)
{
if(sb.charAt(i) ==key)
{
return true;
}
}
return false;
}
}
复制代码
作者:
末世苍雪
时间:
2015-1-20 21:20
谢谢楼主分享题目
作者:
IcedCoffee
时间:
2015-1-20 22:10
谢谢 带题走过
作者:
yumin
时间:
2015-1-21 02:55
感谢楼主的分享~~
作者:
自信流云
时间:
2015-1-21 11:24
感谢分享!
作者:
yanglingui
时间:
2015-8-31 15:48
谢谢谢 你好****
作者:
tuyrt7
时间:
2015-10-19 23:24
基本还看不懂 菜鸟来了 。。。
作者:
azhuang
时间:
2015-11-10 23:22
谢谢 带题走过
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2