Java经典笔试题—day04

news2024/9/28 3:22:51

Java经典笔试题—day04

  • 🔎选择题
  • 🔎编程题
    • 🥝计算糖果
    • 🥝进制转换
  • 🔎结尾

🔎选择题

(1)下列与队列结构有关联的是()

A. 函数的递归调用
B. 数组元素的引用
C. 多重循环的执行
D. 先到先服务的作业调度

D

队列(先进先出)

(2)下面选项中,哪些是interface中合法方法定义?

A. public void main(String [] args);
B. private int getSum();
C. boolean setFlag(Boolean [] test);
D. public float get(int x);

A, C, D

接口中的方法默认被 public abstract 修饰
接口中的方法默认是要被重写的, 而被 private 修饰, 只能在当前类使用, 就不能被重写了
在这里插入图片描述

(3)下面哪些类实现或继承了 Collection 接口?

A. HashMap
B. ArrayList
C. Vector
D. Iterator

B, C

在这里插入图片描述
图片来自网络

(4)类所实现接口的修饰符不能为()

A. void
B. public
C. abstract
D. final

A, D

接口默认是要被重写的, 被 final 修饰就表示固定的 “常量”, 无法进行重写

(5)下列关于栈叙述正确的是( )

A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上三种说法都不对

D

(6)下面关于abstract关键字描述错误的是()

A. abstract关键字可以修饰类或方法
B. final类的方法都不能是abstract,因为final类不能有子类
C. abstract类不能实例化
D. abstract类的子类必须实现其超类的所有abstract方法

D

B. final 修饰的类默认是不被重写的, abstract 修饰的类默认是需要被重写的, 所以 final 类的方法不能是 abstract
D. 子类也是 abstract 修饰, 就不需要重写父类的 abstract() 方法. 子类不是 abstract 修饰, 就需要重写 abstract() 方法

(7)结构化程序的三种基本结构是( )

A. 递归、迭代和回溯
B. 过程、函数和子程序
C. 顺序、选择和循环
D. 调用、返回和选择

C

(8)对于abstract声明的类,下面说法正确的是 ( )

A. 可以实例化
B. 不可以被继承
C. 子类为abstract
D. 只能被继承
E. 可以被抽象类继承

E

A. 不可以实例化
B. 可以被继承
C. 子类可以是 abstract 修饰, 也可以不是 abstract 修饰
D. 可以不被继承

(9)1GB 的准确值是( )

A. 1024×1024 Bytes
B. 1024 KB
C. 1024 MB
D. 1000×1000 KB

C

bit byte kb mb gb pb tb

(10)对于jdk1.8,以下为 java 语法保留不能作为类名和方法名使用的是 ( )

A. default
B. int
C. implements
D. throws

A, B, C, D

关键字均不能作为类名和方法名使用

🔎编程题

🥝计算糖果

题目描述

A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:
A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.
现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。

输入描述

输入为一行,一共4个整数,分别为A - B,B - C,A + B,B + C,用空格隔开。 范围均在-30到30之间(闭区间)。

输出描述

输出为一行,如果存在满足的整数A,B,C则按顺序输出A,B,C,用空格隔开,行末无空格。 如果不存在这样的整数A,B,C,则输出No

在这里插入图片描述

解题思路

int a = A - B; int b = B - C;
int c = A + B; int d = B + C;

结果有两个 B 的值, 如果这两个 B 的值相等, 返回 true. 否则返回 false

A = (a + c) / 2 , B1 = (c - a) / 2 , B2 = (b + d) / 2 , C = (d - b) / 2

import java.util.Scanner;
//计算糖果
public class Main1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNextInt()) {
            int a = scan.nextInt();//A - B
            int b = scan.nextInt();//B - C
            int c = scan.nextInt();//A + B
            int d = scan.nextInt();//B + C
            if(isTrue(a,b,c,d))
                System.out.println((a + c) / 2 + " " + (b + d) / 2 + " " + (d - ((b + d) / 2)));
            else
                System.out.println("No");
        }
    }
    private static boolean isTrue(int a,int b,int c,int d) {
        int B1 = (c - a) / 2;// B的糖果数
        int B2 = (b + d) / 2;// B的糖果数
        return B1 == B2;
    }
}

📢题目链接
链接: link


🥝进制转换

题目描述

给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数

输入描述

输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开

输出描述

为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)

在这里插入图片描述

解题思路

  1. 判断给定的数字 M 是不是 0, 如果是 0, 直接返回 “0”
  2. 判断给定的数字 M 是不是负数, 如果是, 最后需要添加负号
  3. 将数字 M 转换成 N 进制( M % N)
public String solve (int M, int N) {
        // write code here
        if (M == 0) return "0";
        boolean flg = false;
        if (M < 0) {
            flg = true;
            M = ~M + 1;
        }
        StringBuilder sb = new StringBuilder();

        while (M != 0) {
            int x = M % N;
            if (x > 9) {
                x = x - 10 + 'A';// (10 ~ 16) - 10 + 'A' - > 'A' ~ 'F'
            } else {
                x = x + '0';// (0 ~ 9) + 0 -> 0 ~ 9
            }
            sb.append((char)x);
            M /= N;
        }

        if (flg) sb.append("-");

        return sb.reverse().toString();
}

📢题目链接
链接: link


🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/504391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows系统运行速度优化(系统内存扩充)!

之前有几篇文章&#xff0c;讲述了一些关于提升Windows系统运行速度的方法。链接如下&#xff1a; 如何让Windows系统10秒开机&#xff1f; 电脑运行卡顿怎么办&#xff1f;一招让Windows系统运行流畅 Windows系统重新安装后必须要做的优化 这里还有一个Windows系统的优化方法…

技术领先、“忠”于业务,用友走出多维数据库的价值之路

本文转自科技商业 作者 于洪涛 对于当今的企业而言&#xff0c;精细化管理&#xff0c;已经成为发展之源&#xff0c;甚至是生存之本。 尤其是随着数字化和智能化转型的推进&#xff0c;在企业经营管理过程中&#xff0c;数据正在日益发挥更为关键的要素作用。 相比过去&…

【Linux】Shell脚本之函数的操作+实战详解(建议收藏⭐)

&#x1f341;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; 文章目录 shell脚本函数设置函数的意义函数的基…

物联网|蓝牙4.0BLE协议栈简介|IAR集成开发环境简介|IAR各版本下载链接|物联网之蓝牙4.0 BLE基础-学习笔记(2)

文章目录 129-142暂停&#xff0c;待续3、蓝牙4.0BLE协议栈简介4、IAR集成开发环境简介Tips: BLE协议结构图介绍Tips IAR各版本下载链接 129-142暂停&#xff0c;待续 3、蓝牙4.0BLE协议栈简介 问题: 1、什么是LE协议栈?BLE协识栈与BLE协议的关系&#xff1f; 协议&#xff…

数据结构与算法(Java版) | 队列的应用场景和介绍

队列的一个应用场景 给大家介绍完稀疏数组这种数据结构之后&#xff0c;接下来我再来给大家介绍另外一种数据结构&#xff0c;即队列。 队列&#xff0c;听其名而知其义&#xff0c;相信大家应该都在现实生活中见过&#xff0c;比如在火车站排队买票&#xff0c;或者在麦当劳…

轻NAS搭建 - 使用微力同步搭建私人云盘,无需公网IP也能远程访问

文章目录 1.前言2. 微力同步网站搭建2.1 微力同步下载和安装2.2 微力同步网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 私有云盘作为云存储概念的延伸&#xff0c;虽然谈不上多么新颖&#xff0c;但是其…

图神经网络:在Cora数据集上动手实现图神经网络

文章说明&#xff1a; 1)参考资料&#xff1a;PYG官方文档。超链。 2)博主水平不高&#xff0c;如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook。超链。提取码8888。 文章目录 代码实操1&#xff1a;GCN的复杂实现代码实操2&#xff1a;GCN的简单实现…

IntelliJ Platform-Plugins-获取方法相关信息(PsiElement/PsiMethodImpl)

PsiElement接口是文件中光标所在的那个字段&#xff0c;或者光标所在的那个方法的抽象&#xff0c;例如下图中PsiElement就是public String getName()&#xff0c;它的实现类是PsiMethodImpl 下面的代码会演示&#xff1a;如果光标在方法上&#xff0c;就打印方法名字&#x…

「Cpolar」内网穿透实现在外远程连接MongoDB数据库【端口映射】

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后端的开发语言A…

第二十四章 Unity 纹理贴图

通常情况下&#xff0c;3D网格模型只能展示游戏对象的几何形状&#xff0c;而表面的细节则纹理贴图提供。纹理贴图通过UV坐标“贴附”在模型的表面。当然&#xff0c;这个过程不需要我们在Unity中完成&#xff0c;而是在建模软件中完成的。通常情况下&#xff0c;我们通过3ds m…

鸿蒙Hi3861学习九-Huawei LiteOS-M(互斥锁)

一、简介 互斥锁又被称为互斥型信号量&#xff0c;是一种特殊的二值信号量&#xff0c;用于实现对共享资源的独占式处理。 任意时刻互斥锁的状态只有两种&#xff1a;开锁或闭锁。 当有任务占用公共资源时&#xff0c;互斥锁处于闭锁状态&#xff0c;这个任务获得该互斥锁的使用…

C++系列六:一文打尽C++运算符

C运算符 1. 算术运算符2. 关系运算符3. 逻辑运算符4. 按位运算符5. 取地址运算符6. 取内容运算符7. 成员选择符8. 作用域运算符9. 总结 1. 算术运算符 算术运算符用于执行基本数学运算&#xff0c;例如加减乘除和取模等操作。下表列出了C中支持的算术运算符&#xff1a; 运算…

Oracle 19C 单机环境升级RU(19.3升级至19.12)

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

鸿蒙Hi3861学习五-Huawei LiteOS-M(任务管理)

一、任务简介 关于任务的相关介绍&#xff0c;之前文章有比较详细的介绍&#xff0c;这里不做过多解释&#xff0c;可以参考如下文章&#xff1a;FreeRTOS学习二&#xff08;任务&#xff09;_t_guest的博客-CSDN博客 而LiteOS的主要特性可以总结为如下几点&#xff1a; LiteO…

〖数据挖掘〗weka3.8.6的安装与使用

目录 背景 一、安装 二、使用explorer 1. 介绍 2.打开自带的数据集(Preprocess) 1.打开步骤 2.查看属性和数据编辑 3.classify 4.Cluster 5.Associate 6.Select attributes 7.Visualize 待补充 背景 Weka的全名是怀卡托智能分析环境&#xff08;Waikato Environme…

低代码平台解读—如何不写代码创建表单和维护表单

工作表新建与修改——敲敲云 新建工作表的流程包含 新建工作表/编辑公祖表为工作表添加字段&#xff0c;例如“员工档案”表中有姓名、性别、年龄等字段为字段设置属性工作表布局工作表预览、保存、关闭 1、新建工作表/修改工作表 新建工作表 修改工作表 2、为工作表添加字段 …

c#笔记-定义类

声明类 类可以使用帮助你管理一组相互依赖的数据&#xff0c;来完成某些职责。 类使用class关键字定义&#xff0c;并且必须在所有顶级语句之下。 类的成员只能有声明语句&#xff0c;不能有执行语句。 class Player1 {int Hp;int MaxHp;int Atk;int Def;int Overflow(){if (…

算法记录 | Day55 动态规划

392.判断子序列 思路&#xff1a; 1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义: dp[i][j] 表示以下标i-1为结尾的字符串s&#xff0c;和以下标j-1为结尾的字符串t&#xff0c;相同子序列的长度为dp[i][j]。 2.确定递推公式&#xff1a; if (s[i - 1] t[…

线程同步、生产者消费模型和POSIX信号量

gitee仓库&#xff1a; 1.阻塞队列代码&#xff1a;https://gitee.com/WangZihao64/linux/tree/master/BlockQueue 2.环形队列代码&#xff1a;https://gitee.com/WangZihao64/linux/tree/master/ringqueue 条件变量 概念 概念&#xff1a; 利用线程间共享的全局变量进行同…

单片机c51中断 — 开关状态监测

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第五章&#xff0c;中断 图中 P2.0引脚处接有一个发光二极管 D1&#xff0c;P3.2引脚处接有一个按键。要求分别采用一般方式和中断方式编程实现按键压下一次&#xff0c;D1 的发光状态反转一次的功能。 查询…