您的位置:首页 > 编程语言 > Java开发

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分)

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