试题来源:牛客网(https://www.nowcoder.com/test/30023046/summary)
一、选择题:
1、下列LINUX系统的键盘命令中,显示当前工作目录的命令是:
A.ls命令
B.cd命令
C.pwd命令
D.cat命令
答案:C
2、下面哪种方式不可以实现数据约束:
A.NOT NULL
B.UNIQUE INDEX
C.PRIMARY KEY
D.非唯一索引 INDEX
答案:D
3、在往个表插入记录时,有10条成功,5条失败,数据还没有提交,需要把所有数据回退,选择下面的命令
A.DELETE
B.ROLLBACK
C.UNCOMMIT
D.TRUNCATE TABLE
答案:B
4、下面关于视图说法正确的是
A.可以创建只读视图.
B.视图中的select语句可以有ORDER BY
C.视图中的select语句不能有GROUP BY.
D.视图中的SELECT语句必须为每列定义别名
答案:A
5、已知表T1和T2的字段定义完全相同,T1中有2行不同数据,T2中有3行不同数据,其中T1中2条数据存在于表T2中,语句”select from T1 union select from T2”,返回的行数为
A.2
B.3
C.5
D.6
答案:B
6、以下哪个命令是隐式提交事务的
A.COMMIT
B.UPDATE
C.DELETE
D.CREATE
答案:D
7、在Java中,下面关于构造函数的描述正确的是
A.类必须有显式构造函数
B.它的返回类型是void
C.它和类有相同的名称,但它不能带任何参数
D.以上描述全不对
答案:D
8、下面关于finally子句正确的说法是
A.finally 子句执行是在出现异常后执行的,若是没有出现异常将不执行
B.finally 子句一般用来释放资源的,但是不能再次去占用资源
C.finally 子句中不能再抛出异常
D.finally 字句无论出现异常已否,都将被执行
答案:D
9、下列哪个语句关于内存回收的说明是正确的
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
答案:B
10、“导入一个类”表示
A.这个类成为本地包的一个成员,可以访问它的所有包级、保护级、公开级成员
B.这个类成为本地包的一个成员,但只能访问它的公开级成员
C.这个类成为本地包的一个成员,可以访问它的全部成员
D.这个类依然属于其它包,只能访问它的公开级成员
答案:D
11、对字节进行输入操作一般继承与以下的哪个选项是
A.Reader
B.Writer
C.OutputStream
D.InputStream
答案:D
12、声明成员变量时,如果不使用任何访问控制符(public, protected, private),则一下哪种类型的类不能对该成员进行直接访问:
A.同一个类
B.同一包中子类
C.同一个包中的非子类
D.不同包中的子类
答案:D
13、设一组初始关键字序列为(31,65,82,76,13,27,10),则第4趟冒泡排序结束后的结果为
A.(13,27,10,31,65,76,82)
B.(10,13,27,31,65,76,82)
C.(31,13,27,10,65,76,82)
D.A. (31,27,13, 65, 10,76,82)
答案:A
14、关于抽象类叙述正确的是?
A.抽象类不能实现接口
B.抽象类必须有”abstract class”修饰
C.抽象类必须包含抽象方法
D.抽象类也有类的特性,可以被实例化
答案:B
15、方法重写时,子类抛出的异常类型大于等于父类抛出的异常类型
A.对
B.错
答案:B
答案解析:父类可以捕获子类异常,所以父类必须大
二、编程题:
1、编写Java Application 程序,查找出字符串str中字符A,替换成字符B,并统计替换的次数。
【注】不可以使用Java的内置函数,如index()、replace()等。
参考答案:
public class Main {
public static void main(String[] args) {
String str = "dsafanfvapdifiaiogfa";
char A = 'a';
char B = 'b';
String s = "";
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == A) {
s = s + B;
count++;
} else {
s = s + str.charAt(i);
}
}
System.out.println("String:" + s);
System.out.println("count:" + count);
}
}
2、输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
参考答案:
import java.util.*;
public class Main{
public static void main(String[] arsg){
Scanner s = new Scanner(System.in);
int a = s.nextInt();
StringBuilder sb = new StringBuilder();
int[] used = new int[10];
while(a != 0){
int t = a % 10;
a = a / 10;
if(used[t] != 1){
sb.append(t);
used[t] = 1;
}
}
System.out.println(sb);
}
}