JAVA练习题选择编程
2018-01-07 17:18
375 查看
在一系统中,不同类对象之间的通信的一种构造称为(消息),一个对象具有多种形态称为(多态)。
以下关于构造函数的描述错误的是()。 (2分)
构造函数是类的一种特殊函数,它的方法名必须与类名相同。
构造函数的主要作用是完成对类的对象的初始化工作。
构造函数的返回类型只能是void型。
一般在创建新对象时,系统会自动调用构造函数。
在Java中,能实现多重继承效果的方式是( )。 (2分)
继承
内部类
适配器
接口
在面向对象的软件系统中,不同类对象之间的通信的一种构造称为_。 (2分)
封装
类
属性
消息
类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是( )。(2分)
double
a = fun(1.0,2.0)
double
a = fun(1,2)
int
x = fun(1,2)
int
x = fun(1.0,2.0)
下列语句会造成数组new int[10]越界是( )。 (2分)
for(int
i=0;i<=10;i++) a[i]++;
a[0]
+= 9;
a[9]=10;
a[9]
下面哪个对类的声明是错误的? (2分)
public
class MyClass{}
class
MyClass extends MySuperClass implements YourInterface {}
class
MyClass extends MySuperClass1, MySupperClass2 {}
abstract
class MyClass implements YourInterface1, Youriterface2 {}
private
class MyClass {}
list是一个ArrayList的对象,哪个选项的代码填写到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?( ) (2分)
list.remove(it.next());
list.remove(obj);
list.remove(index);
it.remove();
下面哪个流类属于面向字符的输入流( ) 。 (2分)
InputStreamReader
BufferedWriter
FileInputStream
ObjectInputStream
文件phonebook1.txt和phonebook2.txt中有若干联系人的姓名和电话号码。请你设计一个程序,将这两个文件中的电话号码同步。(所谓同步,就是将两个文件中的电话号码合并后剔除相同的人名和电话号码。请将同步后的电话号码按照姓名拼音顺序排序后保存到文件phonebook3.txt中。)
由于目前的OJ系统暂时不能支持用户读入文件和写文件,我们编写程序从键盘输入文件中的姓名和电话号码,当输入的单词为end时,表示文件结束。将同步后的电话号码按照姓名拼音顺序排序后输出。
张三 13012345678
李四 13112340000
王五 13212341111
马六 13312342222
陈七 13412343333
孙悟空 13512345555
end (表示文件phonebook1.txt结束)
张三 13012345678
孙悟空 13512345555
王五 13212341111
陈七 13412343333
唐三藏 13612346666
猪悟能 13712347777
沙悟净 13812348888
end (表示文件phonebook2.txt结束)
陈七 13412343333
李四 13112340000
马六 13312342222
沙悟净 13812348888
孙悟空 13512345555
唐三藏 13612346666
王五 13212341111
张三 13012345678
猪悟能 13712347777
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in
);
TreeMap<String,Long> map = new TreeMap<>(((o1, o2) -> {
String s1,s2;
s1 = (String)o1;
s2 = (String)o2;
return s1.compareTo(s2);
}));
String pinyin;
String[] data = new String[2];
while(true){
pinyin = cin.nextLine();
if(pinyin.substring(0,3).equals("end")){
break;
}
data = pinyin.split(" ");
map.put(data[0],Long.parseLong(data[1]));
}
while(true){
pinyin = cin.nextLine();
if(pinyin.substring(0,3).equals("end")){
break;
}
data = pinyin.split(" ");
map.put(data[0],Long.parseLong(data[1]));
}
Set<String> keys = map.keySet();
for(String key:keys){
System.out.println(key+" "+map.get(key));
}
}
}
以下关于构造函数的描述错误的是()。 (2分)
构造函数是类的一种特殊函数,它的方法名必须与类名相同。
构造函数的主要作用是完成对类的对象的初始化工作。
构造函数的返回类型只能是void型。
一般在创建新对象时,系统会自动调用构造函数。
在Java中,能实现多重继承效果的方式是( )。 (2分)
继承
内部类
适配器
接口
在面向对象的软件系统中,不同类对象之间的通信的一种构造称为_。 (2分)
封装
类
属性
消息
类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是( )。(2分)
double
a = fun(1.0,2.0)
double
a = fun(1,2)
int
x = fun(1,2)
int
x = fun(1.0,2.0)
下列语句会造成数组new int[10]越界是( )。 (2分)
for(int
i=0;i<=10;i++) a[i]++;
a[0]
+= 9;
a[9]=10;
a[9]
下面哪个对类的声明是错误的? (2分)
public
class MyClass{}
class
MyClass extends MySuperClass implements YourInterface {}
class
MyClass extends MySuperClass1, MySupperClass2 {}
abstract
class MyClass implements YourInterface1, Youriterface2 {}
private
class MyClass {}
Iterator it = list.iterator(); int index = 0; while (it.hasNext()){ Object obj = it.next(); if (needDelete(obj)) { //needDelete返回boolean,决定是否要删除 //todo delete } index ++; }
list.remove(it.next());
list.remove(obj);
list.remove(index);
it.remove();
下面哪个流类属于面向字符的输入流( ) 。 (2分)
InputStreamReader
BufferedWriter
FileInputStream
ObjectInputStream
电话号码同步(Java)(10 分)
文件phonebook1.txt和phonebook2.txt中有若干联系人的姓名和电话号码。请你设计一个程序,将这两个文件中的电话号码同步。(所谓同步,就是将两个文件中的电话号码合并后剔除相同的人名和电话号码。请将同步后的电话号码按照姓名拼音顺序排序后保存到文件phonebook3.txt中。)由于目前的OJ系统暂时不能支持用户读入文件和写文件,我们编写程序从键盘输入文件中的姓名和电话号码,当输入的单词为end时,表示文件结束。将同步后的电话号码按照姓名拼音顺序排序后输出。
输入格式:
张三 13012345678李四 13112340000
王五 13212341111
马六 13312342222
陈七 13412343333
孙悟空 13512345555
end (表示文件phonebook1.txt结束)
张三 13012345678
孙悟空 13512345555
王五 13212341111
陈七 13412343333
唐三藏 13612346666
猪悟能 13712347777
沙悟净 13812348888
end (表示文件phonebook2.txt结束)
输出格式:
陈七 13412343333李四 13112340000
马六 13312342222
沙悟净 13812348888
孙悟空 13512345555
唐三藏 13612346666
王五 13212341111
张三 13012345678
猪悟能 13712347777
输入样例:
Zhang3 13012345678 Li4 13112340000 Wang5 13212341111 Ma6 13312342222 Chen7 13412343333 SunWuKong 13512345555 end Zhang3 13012345678 SunWuKong 13512345555 Wang5 13212341111 Chen7 13412343333 TangSanZang 13612346666 ZhuWuneng 13712347777 ShaWuJing 13812348888 end
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in
);
TreeMap<String,Long> map = new TreeMap<>(((o1, o2) -> {
String s1,s2;
s1 = (String)o1;
s2 = (String)o2;
return s1.compareTo(s2);
}));
String pinyin;
String[] data = new String[2];
while(true){
pinyin = cin.nextLine();
if(pinyin.substring(0,3).equals("end")){
break;
}
data = pinyin.split(" ");
map.put(data[0],Long.parseLong(data[1]));
}
while(true){
pinyin = cin.nextLine();
if(pinyin.substring(0,3).equals("end")){
break;
}
data = pinyin.split(" ");
map.put(data[0],Long.parseLong(data[1]));
}
Set<String> keys = map.keySet();
for(String key:keys){
System.out.println(key+" "+map.get(key));
}
}
}
相关文章推荐
- java学习之路 之 网络编程-练习题
- 剑指offer中 与数组、字符串有关的编程练习题 Java编码
- Java基础练习题 (7)网络编程
- 编程初学者为什么选择JAVA
- java编程思想学习笔记:如何选择继承与组合
- JAVA基础编程练习题--50道
- 50道Java基础编程练习题
- Java语言程序设计-基础篇-第八版-编程练习题-第三章
- 初学编程练习题:括号配对问题(Java)
- 编程练习题(java)
- 转载:JAVA基础编程练习题--50道
- java编程---3.2 (关于String的练习题) 统计字符串中每个字符的个数,例如:把aaaabbaaccbb变成a6b4c2
- 50道JAVA基础编程练习题
- java编程---3.3 (关于String/for的练习题) 提取字符串中连续相同的字符,例如:把aabbaaccbbbm变成2a2b2a2c3bm
- 50道JAVA基础编程练习题
- JAVA 编程规范 选择自 CLNARA 的 Blog
- 剑指offer中 与链表有关的编程练习题 Java编码
- Java语言程序设计-基础篇-第八版-编程练习题-第一章
- Java程序语言(基础篇)第2章 基本程序设计 编程练习题解答
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习4