Practise test day4

一.单选题
1.下列与队列结构有关联的是(D)
A 函数的递归调用
B 数组元素的引用
C 多重循环的执行
D 先到先服务的作业
解析:队列的修改是依先进先出的原则进行的, D 正确。

2.

解析:这里得类被final修饰,是不能够继承的,而接口本来就是用来实现,然后重写里面的方法,此时如果修饰了就不能进行重写,所以这里不能使用final修饰接口。

 3.

 解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A 错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

4.

解析:System.arraycopy > 使用clone方法 > Array.copyOf > for循环

 5.

解析: 仅使用顺序、选择、循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。

6.

解析:软件生命周期分为 3 个阶段:

软件定义阶段,任务是确定软件开发工作必须完成的目标,确定工程的可行性;

软件开发阶段,任务是具体完成设计和实现定义阶段所定义的软件,通常包括总体设计、详细设计、编码和测试;

软件维护阶段,任务是使软件在运行中持久地满足用户的需要。需求分析属于软件定义阶段的任务。

7.1GB 的准确值是( )
A 1024×1024 Bytes
B 1024 KB
C 1024 MB
D 1000×1000 KB
他的回答: C (正确)
正确答案: C
解析:1GB=1024MB=1024 × 1024KB=1024 × 1024 × 1024B 。

8. 

9.下面哪些类实现或继承了 Collection 接口?

A HashMap

B ArrayList

C Vector 

D Iterator  迭代器

他的回答: B C (正确)

正确答案: B C

10. 

  

二.编程题

计算糖果_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/02d8d42b197646a5bbd0a98785bb3a34?tpId=85&&tqId=29857&rp=1&ru=/activity/oj&qru=/ta/2017test/question-ranking

解题思路:这道题目的实质是:判断三元一次方程组是否有解及求解

1.A - B = a

2.B - C = b

3.A + B = c

4.B + C = d ,

1+3可以得到A=(a+c)/2;

4-2可以得到C=(d-b)/2;

2+4可以得到B2=(b+d)/2,

3-1可以得到B1=(c-a)/2;

如果B1等于B2则输出A,B,C

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int d = sc.nextInt();

        int A = (a + c) / 2;
        int B1 = (c - a) / 2;
        int B2 = (b + d) / 2;
        int C = (d - b) / 2;
        if (B1 == B2){
            System.out.println(A + " " + B1 + " " + C);
        } else {
            System.out.println("No");
        }
    }
}

进制转换_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/ac61207721a34b74b06597fe6eb67c52?tpId=85&&tqId=29862&rp=1&ru=/activity/oj&qru=/ta/2017test/question-ranking

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();

        StringBuilder s = new StringBuilder();
        String table = "0123456789ABCDEF";
        boolean flg = false;
        if (m == 0){
            System.out.println("0");
            return ;
        } else if (m < 0) {
            m = -m;
            flg = true;
        }

        while (m != 0) {
            s.append(table.charAt(m % n));
            m = m / n;
        }
        // 3 2 1
        if (flg) {
            s.append("-");
        }
        // 3 2 1 -  逆置reverse
        s.reverse();
        System.out.println(s);
    }
}

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹿小伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值