1、一个栈的输入序列是12345,则下列序列中不可能是栈的输出序列的是(B )
A.23415
B.54132
C.23145
D.15432
答案:
B
2、总共创建了几个对象?
String a="abc"; String b="abc"; 那这里呢?
答案:
一个
3、TCP协议在每次建立或拆除连接时,都要交换几个报文
答案:
3次
4、x为多少?
int x=10;
x+=x-=x-x;
System.out.println(x);
答案:
20
5、下面哪个Map是排序的(A)?
A、TreeMap
B、HashMap
c、Hashtable
d、WeakHashMap
e、LinkedHashMap
6、ArrayList和LinkedList有什么区别?
答案:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
7、写一个冒泡排序
public class Test {
public static void main(String[] args) {
int arr[] = {9, 8, 7, 6, 5, 4, 3, 2, 1};
sort(arr);
}
public static void sort(int arr[]) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j + 1] > arr[j]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = arr[j];
}
}
}
for (int k = 0; k < arr.length; k++) {
System.out.print(arr[k]);
}
}
}
8、写一个单例模式
public class SingleObject {
// 创建 SingleObject 的一个对象
private static SingleObject instance = new SingleObject();
// 让构造函数为 private,这样该类就不会被实例化
private SingleObject() {
}
public static SingleObject getInstance(){
return instance;
}
}
9、在java中对象啥时间被垃圾回收
当一个对象到GC Roots不可达时,在下一个垃圾回收周期中尝试回收该对象,如果该对象重写了finalize()方法,并在这个方法中成功自救(将自身赋予某个引用),那么这个对象不会被回收。但如果这个对象没有重写finalize()方法或者已经执行过这个方法,也自救失败,该对象将会被回收。
10、金额大小写转换
public static void main(String[] args) {
String capNumber[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; //capNumber[]存储大写数字汉字
String unit[] = {"","圆","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"}; //unit[]存储每一个位数所对应的大写汉字单位 unit[0]="",方便对应。
Scanner sc = new Scanner(System.in); //键盘录入数据
System.out.println("请输入12位以内任意整数:");
long num;
//判断输入数据合理性
while(true){
num = sc.nextLong();
String line = num +"";
if(line.length() > 12){
System.out.println("您输入的数据位数过大!请重输:");
}else {
break;
}
}
int times = 0; //记录除的次数
long shang = 0; //记录每一次的商
long yushu = 0; //记录每一次的余数
String str = "";
while(true){
shang = num / 10; //得到商
yushu = num % 10; //得到余数
if(shang == 0 && yushu == 0){ //当商和余数同时为0时退出循环
break;
}else{ //否则,将商重新赋值给num,继续循环
num = shang;
}
times++; //次数加1,得到每位数据
str = capNumber[ (int) yushu]+unit[times] + str; //将大写数字汉字和大写单位连接赋值给str
} //去除字符串中的0
str = str.replaceAll("零[拾佰仟]","零").replaceAll("零+亿","亿").replaceAll("零{4}万", "")
.replaceAll("零+万","万").replaceAll("零+圆","圆").replaceAll("零+", "零")+"整";
System.out.println("阿拉伯数字转换成中国传统形式为: ");
System.out.println(str); //输出字符串
}
}