java中set描述错误_java 第四周考试错题

3.下面哪些赋值语句是正确的?(abd ) [选择3项]

A. long test = 012;

B. float f = -412;

C. int other = (int) true;

D. double d = 0x12345678;

E. byte b = 128;

A:八进制

B:加了F强转可以

C:十六进制

D:超出范围了

7.尝试运行下面的代码会发生什么?( b )

public class Test {

public static void main(String[] args) {

boolean m = true;

if (m = false) {

System.out.println("true");

} else {

System.out.println("false");

}

}

}

A.输出字符串”true”

B.输出字符串”false”

C.编译时错误

D.运行时错误

B:可以赋值  只要结果是布尔值

11.在java中,关于数组描述正确的是( bd ) [选择2项]

A.数组中的索引下标从1开始

B.存储在数组当中的数据都属于同一数据类型

C.通过数组名.length()能获得数组的长度

D.数组的最大索引下标是数组的长度减1

D:错在length是属性不是方法

15.和下面代码能完成相同的选项是( b )

class Demo {

public static void main(String[] args) {

int i = 1;

int sum = 0;

while (i <= 100) {

if (i % 2 == 0) {

sum = sum + i;

}

i++;

}

System.out.println(sum);

}

}

A. for (int x =1; x<=100;x++){ sum=sum+x;}

B. for (int x =0; x<=100;x+=2){ sum=sum+x;}

C. for (int x =1; x<=100;x+=2){ sum=sum+x;}

D.上述全对

C:求的是偶数和  C是奇数和

19.下列有关接口的叙述错误的是哪项?( d )

A.接口中只能包含抽象方法和常量

B.一个类可以实现多个接口

C.类实现接口时必须实现其中的方法

D.接口不能被继承

D:接口可以继承接口

22.下列选项中关于java中this关键字的说法错误的有( bcd )[选择三项]

A. this关键字是一个对象的引用

B. this关键字可以用于引用当前类以外其他类型的对象

C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行

D. this可用于静态方法中

概念性问题C:this不是this()

26.有如下代码,请问哪些是正确的?(acd  )[选项3项]

class ClassA{}

class ClassB extends ClassA{}

class ClassC extends ClassA{}

以及

ClassA p0 = new ClassA();

ClassB p1 = new ClassB();

ClassC p2 = new ClassC();

ClassA p3 = new ClassB();

ClassA p4 = new ClassC();

A.p0 = p1;

B.p1 = p2;

C.p1 = (ClassB)p3;

D.p2 = (ClassC)p4;

多态赋值

B:p1 p2没有关系

27.关于继承,以下说法正确的是: (cd  )[2项]

A.Java中只支持单继承,一个类只能继承一个类,但是可以有多个子类

B.一个类如果没有自己写无参构造方法,那么子类将无法继承

C.子类可以当父类用,父类不可以当子类用

D.子类重写父类方法时访问权限不能更低

A:接口接口可以多继承,没有说是类

B:jvm会默认给一个无参构造

28.编译并运行以下代码的输出结果是?( a )

String s1 = new String("amit");

System.out.println(s1.replace('m','r'));

System.out.println(s1);

String s3 = "arit";

String s4 = "arit";

String s2 = s1.replace('m','r');

System.out.println(s2 == s3);

System.out.println(s3 == s4);

A. arit

amit

false

true

B. arit

arit

false

true

C. amit

amit

false

true

D. arit

amit

true

true

替换后不会修改原来的字符串,因为字符串是常量,不可改变

29.下列哪些代码可以顺利通过编译和运行? ( abd)[3项]

A.Integer i = new Integer('A');

B.Integer i = new Integer("7")

C.Character c = new Character("A");

D.Boolean b = new Boolean(null);

E.Integer i = new Integer("0x10");

A:char会转换成对应的ASCII

B:构造方法可以这么干

D:执行后是false

38.关于方法的递归算法,说法正确的是( ad ) [选2个]

A.递归就是方法自己调用自己

B.递归的次数不能过大,否则会导致栈内存溢出 尾递归算法

C.使用递归算法,方法必须有返回值

D.构造方法不可以使用递归算法

B:尾递归算法,出口

D:王八的屁股,龟腚

用最有效率的方法算出2乘以8等於几 2 <

没想到 2*2的三次方

String s = new String("xyz");创建了2个String Object   s一个,new了一个

怎么把一个字符串:“356.83”转换成double类型。Double.parseDouble(“356.83”)    Double.valueOf("356.83")

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

package com.zhiyou100.homework;

import java.util.ArrayList;

import java.util.HashSet;

import java.util.Set;

public class Demo01 {

public static void main(String[] args) {

duplicateRemoval();

}

二.  {aaa,bbb,ccc},{bbb,ddd},{eee,fff},{ggg},{ddd,hhh}

//运算的结果:{aaa,bbb,ccc,ddd,hhh},{eee,fff},{ggg}

public static void duplicateRemoval(){

//1. 先定义一个初始集合 {aaa,bbb,ccc}

Set set = new HashSet<>();

set.add("aaa");

set.add("bbb");

set.add("ccc");

// 2.再依次把后面的集合定义出来

Set set2 = new HashSet<>();

set2.add("bbb");

set2.add("ddd");

Set set3 = new HashSet<>();

set3.add("eee");

set3.add("fff");

Set set4 = new HashSet<>();

set4.add("ggg");

Set set5 = new HashSet<>();

set5.add("ddd");

set5.add("hhh");

// 再定义一个大的容器用来存储后面4个容器

ArrayList> list = new ArrayList<>();

list.add(set2);

list.add(set3);

list.add(set4);

list.add(set5);

// 下面开始遍历list

for (int i = 0; i < list.size(); i++) {

// 合并同类项

Set s = list.get(i);

// 添加开关

boolean flag = false;

for (String str : s) {

if (set.contains(str)) {

flag = true;

set.addAll(s);

break;

}

}

// 如果有相同的元素。就删除掉那个相同的set集合

if (flag) {

list.remove(s);

}

}

System.out.println(set);

System.out.println(list);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值