【java】笔试强训Day4【计算糖果、进制转换】

目录

⛳一、单选题

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

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

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

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

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

6.对于abstract声明的类,下面说法正确的是

7.1GB 的准确值是(         )

🌈二、多选题

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

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

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

🔥三、编程题

1.计算糖果

2.进制转换


⛳一、单选题

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

A 函数的递归调用

B 数组元素的引用

C 多重循环的执行

D 先到先服务的作业调度

🙈大家觉得答案是什么呢


🙉答案是 D 啦~

🔎做题思路:队列———先进先出

函数的递归调用 与 函数的栈 有关 —— 先进后出;先到先服务的作业调度 与 队列 有关

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

A void

B public

C abstract

D final

🙈大家觉得答案是什么呢


🙉答案是 D 啦~

🔎做题思路:接口是为了被重写的,所以不能被 final 修饰

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

A 算法就是程序

B 设计算法时只需要考虑数据结构的设计

C 设计算法时只需要考虑结果的可靠性

D 以上三种说法都不对 

🙈大家觉得答案是什么呢


🙉答案是 D 啦~ 

🔎做题思路:栈——先进后出

算法是解决问题的步骤;程序是对问题的具体代码实现;算法和程序都是指令的有限序列,但是程序是算法,而算法不一定是程序

设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

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

A abstract关键字可以修饰类或方法

B final类的方法都不能是abstract,因为final类不能有子类

C abstract类不能实例化

D abstract类的子类必须实现其超类的所有abstract方法

🙈大家觉得答案是什么呢


🙉答案是 D 啦~ 

🔎做题思路:对于D,abstract类的子类如果是抽象类,则完全不需要实现

abstract class A {
    public abstract void func();
}
abstract class B extends A {//抽象类,不需要重写构造方法
    public abstract void func1();
}
class C extends B {//需要重写构造方法

    @Override
    public void func() {

    }

    @Override
    public void func1() {

    }
}

关于 抽象类 abstract 的使用,可以跳转到我的博客:抽象类 去完全掌握抽象类

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

A 递归、迭代和回溯

B 过程、函数和子程序

C 顺序、选择和循环

D 调用、返回和选择

🙈大家觉得答案是什么呢


🙉答案是 C 啦~ 

🔎做题思路:结构化程序设计是进行模块功能和处理过程设计为主的详细设计原则。结构化程序设计是过程式程序设计的一个子集,他对写入的程序使用逻辑结构,是的理解和修改更有效更容易

6.对于abstract声明的类,下面说法正确的是

A 可以实例化

B 不可以被继承

C 子类为abstract

D 只能被继承

E 可以被抽象类继承

🙈大家觉得答案是什么呢


🙉答案是 E 啦~ 

关于 抽象类 abstract 的使用,可以跳转到我的博客抽象类 去完全掌握抽象类

7.1GB 的准确值是(         )

A 1024×1024 Bytes

B 1024 KB

C 1024 MB

D 1000×1000 KB

🙈大家觉得答案是什么呢


🙉答案是 啦~

🌈二、多选题

8.下面选项中,哪些是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 void main(String [] args);  这是一个抽象方法,可以实现接口,并不是一个主函数,主函数要有 static

private int getSum(); 这是一个 private 修饰的,这是一个私有的,而接口不可以是私有的接口里的方法是为了 重写,不可以私有化,重写的规则是:子类一定要大于等于父类的权限 ,因此 B 错误

boolean setFlag(Boolean [] test);  默认是 public abstract,可以实现接口

public float get(int x);  默认是 public ,也是可以实现接口的

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

A HashMap                    B ArrayList                     C Vector                    D Iterator

🙈大家觉得答案是什么呢


🙉答案是 B、C 啦~

🔎做题思路:

Iterator 是一个迭代器,与接口无关

类和接口总览

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

A default                          B int                            C implements                        D throws

🙈大家觉得答案是什么呢


🙉答案是  A、B、C、D 啦~

🔎做题思路:关键字不能作为类名和方法名使用的

🔥三、编程题

1.计算糖果

链接:计算糖果_牛客题霸_牛客网 (nowcoder.com)

描述: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

示例1

输入:1 -2 3 4

输出:2 1 3

🔎做题思路:

import java.util.Scanner;

public class Main1 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
        int d = scanner.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("No");
        } else {
            System.out.println(A+" "+B1+" "+C);
        }
    }
}

2.进制转换

链接:进制转换_牛客题霸_牛客网 (nowcoder.com)

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

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

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

示例1

输入:7 2

输出:111

🔎做题思路:突破点为 M 和 N有何种关系

定义一个数组 table,在数组内部放入满足的任意进制数,再定义一个字符串 s,存放M的每一位

1️⃣求得 M 数的每一位数(如果M为负数,先变负数为正数;如果M等于0,直接输出0)

2️⃣把求得的每一位拼接到字符串中

❗❗❗求得的这位数去数组下表中找到对相应的数字拼接到字符串中——假设这个数为15,那么不可以直接把15拼接到字符串中,而是去数组中找到15下标对应的 f 拼接到字符串中

3️⃣逆置字符串(如果是负数,先拼接符号在字符串中,最后逆置字符串)

import java.util.Scanner;
public class Main1 {

    //进制转换

    //描述:给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数
    //输入描述:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。
    //输出描述:为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)
    //示例1
    //输入:7 2
    //输出:111

    //思路:
    //定义一个数组 table,在数组内部放入满足的任意进制数,再定义一个字符串 s,存放M的每一位
    //1️⃣求得 M 数的每一位数(如果M为负数,先变负数为正数)
    //2️⃣把求得的每一位拼接到字符串中
    //❗❗❗求得的这位数去数组下表中找到对相应的数字拼接到字符串中
    //假设这个数为15,那么不可以直接把15拼接到字符串中,而是去数组中找到15下标对应的 F 拼接到字符串中
    //3️⃣逆置字符串(如果是负数,先拼接符号在字符串中,最后逆置字符串)

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

        //如果循环里字符串用String类型去拼接,会产生大量的临时变量,因此定义s的时候用StringBuilder
        StringBuilder s = new StringBuilder();//定义一个字符串,存放m的每一位
        String table = "0123456789ABCDEF";//定义一个数组 table,在数组内部放入满足的任意进制数
        //如果m等于0,直接输出0
        if (m == 0) {
            System.out.println("0");
        }
        boolean flg = false;
        //假设这个数是负数,先变负数为正数
        if (m < 0) {
            m = -m;
            flg = true;
        }

        while (m != 0) {//如果循环里字符串用String类型去拼接,会产生大量的临时变量,因此定义s的时候用StringBuilder
            s.append(table.charAt(m % n)); //查找下标的值,拼接到字符串中
            m = m / n;
        }
        if (flg) {
            s.append("-");//如果是负数,则最后拼接“-”
        }
        s.reverse();//逆置字符串
        System.out.println(s);
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

9.0 自定义SystemUI下拉状态栏和通知栏视图(十五)之悬浮通知布局

1.前言在进行9.0的系统rom产品定制化开发中&#xff0c;在9.0中针对systemui下拉状态栏和通知栏的定制UI的工作开发中&#xff0c;原生系统的下拉状态栏和通知栏的视图UI在产品开发中会不太满足功能&#xff0c;所以根据产品需要来自定义SystemUI的下拉状态栏和通知栏功能&…

【jenkins部署】一文弄懂自动打包部署(前后台)

这里写目录标题序言软件安装jdkmaven配置maven阿里镜像以及本地库位置git安装安装jenkins插件安装环境配置创建项目配置gitee生成gitee WebHookmaven打包验证是否打包成功连接远程服务器并重启服务远程服务器生成私钥配置ssh项目配置ssh脚本vue项目打包nodejs安装下载配置环境变…

【C++进阶】位图和布隆过滤器

文章目录位图位图概念位图使用场景位图的结构构造setresettest完整代码布隆过滤器布隆过滤器概念布隆过滤器结构构造setresettest完整版代码位图 位图概念 所谓位图&#xff0c;就是用每一位来存放某种状态&#xff0c;适用于海量数据&#xff0c;数据无重复的场景。通常是用…

智能火焰与烟雾检测系统(Python+YOLOv5深度学习模型+清新界面)

摘要&#xff1a;智能火焰与烟雾检测系统用于智能日常火灾检测报警&#xff0c;利用摄像头画面实时识别火焰与烟雾&#xff0c;另外支持图片、视频火焰检测并进行结果可视化。本文详细介绍基于智能火焰与烟雾检测系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Python的…

【数据结构与算法】设计循环队列

文章目录&#x1f451;前言如何设计循环队列设计循环队列整体的代码&#x1f4ef;写在最后&#x1f451;前言 &#x1f6a9;前面我们 用队列实现了一个栈 &#xff0c;用栈实现了一个队列 &#xff0c;相信大家随随便便轻松拿捏&#xff0c;而本章将带大家上点难度&#xff0c;…

【Linux】SIGCHLD信号

文章目录SIGCHLD信号SIGCHLD信号 回忆: 为了避免出现僵尸进程,父进程需要使用wait或waitpid函数等待子进程结束,父进程可以阻塞等待子进程结束,也可以非阻塞地查询的是否有子进程结束等待清理,即轮询的方式 如果采用阻塞等待:父进程阻塞就不能处理自己的工作了如果采用非阻塞等…

Python日志logging实战教程

一、什么是日志 在《网络安全之认识日志采集分析审计系统》中我们认识了日志。日志数据的核心就是日志消息或日志&#xff0c;日志消息是计算机系统、设备、软件等在某种刺激下反应生成的东西。 日志数据&#xff08;log data&#xff09;就是一条日志消息的内在含义&#xf…

第十四届蓝桥杯第三期模拟赛 【python】

第十四届蓝桥杯第三期模拟赛 【python】 文章目录第十四届蓝桥杯第三期模拟赛 【python】✨最小的十六进制&#xff08;python的16进制&#xff09;❓️问题描述答案提交&#x1f9e0;思路&#x1f5a5;︎参考答案✨Excel的列&#xff08;进制转化&#xff09;❓️问题描述答案…

串口通信(STM32演示实现)

目录 一、串行通信的概念 二、寄存器 2.1控制寄存器USART_CR1 2.2控制寄存器USART_CR2​编辑 2.3串口寄存器USART_BRR 2.4 USART_ISR 2.5USART_TDR 2.6USART_RDR​编辑 三、实现串口数据的收发 一、串行通信的概念 u通信&#xff0c;最少要有两个对象&#xff0c;一个收…

强化学习、监督学习、无监督学习是什么

1 强化学习 1.1 定义 强化学习是机器学习学习方式的一种&#xff0c;是让计算机实现从一开始完全随机的进行操作&#xff0c;通过不断试错的方式去总结出每一步的最佳行为决策&#xff0c;基于环境给予的反馈&#xff0c;去调整自己的行为决策&#xff0c;从而对未来的行为给…

什么是推挽输出,开漏输出?

这篇文章是看B站“工科男孙老师”这个视频的笔记推挽 开漏 高阻 这都是谁想出来的词&#xff1f;&#xff1f; 我觉得讲的很好&#xff0c;做一下笔记 1.什么是IO输出三态 一共有&#xff1a;高电平, 低电平&#xff0c;浮空/高阻态 三种IO态 2.推挽输出 推挽输出能够表示高、…

短链接是怎么设计的?带你入门

文章目录前言一、短链1、原理1.1 短链生成原理1.2 短链跳转原理&#xff1a;2、设计&#xff1a;2.1 短链需求2.2 考虑的问题&#xff1f;二、实践案例1、设计表&#xff1a;2、生成短链&#xff1a;前言 说到 URL 你肯定不陌生&#xff0c;浏览器输入一段 URL&#xff0c;立马…

QMessageBox手动添加按钮并绑定按钮的信号

视频展示效果&#xff08;结合代码看效果更佳哦&#xff0c;代码在最下面&#xff09;&#xff1a; QMessageBox手动添加有重试效果的按钮效果图&#xff1a; 点击详细文本之后展开如下图&#xff1a; 图标可选&#xff1a; QMessageBox::Critical错误图标QMessageBox::NoIco…

第二十一天 数据库开发-MySQL

目录 数据库开发-MySQL 前言 1. MySQL概述 1.1 安装 1.2 数据模型 1.3 SQL介绍 1.4 项目开发流程 2. 数据库设计-DDL 2.1 数据库操作 2.2 图形化工具 2.3 表操作 3. 数据库操作-DML 3.1 增加(insert) 3.2 修改(update) 3.3 删除(delete) 数据库开发-MySQL 前言 …

深度学习:GPT1、GPT2、GPT-3

深度学习&#xff1a;GPT1、GPT2、GPT3的原理与模型代码解读GPT-1IntroductionFramework自监督学习微调ExperimentGPT-2IntroductionApproachConclusionGPT-3GPT-1 Introduction GPT-1&#xff08;Generative Pre-training Transformer-1&#xff09;是由OpenAI于2018年发布的…

从0到1深度学习环境搭建

目录第一步&#xff1a;安装anaconda第二步&#xff1a;创建一个虚拟环境试一下第三步&#xff1a;确定cuda算力&#xff0c;配置cudapytorch官网找版本pycharm配置pycharm进行设置setting 能够打开conda的shell终端如何给下载的项目设置合适的环境如果必须要低版本的pytorch才…

智驾芯片“性价比之王”凭何抢滩增量市场?

未来几年&#xff0c;智能驾驶功能将进入跨越式升级的阶段&#xff0c;同时L2将快速普及&#xff0c;L2进入集中放量的阶段。 包括自动泊车 (APA)、家庭区域记忆泊车 (HAVP)、交通拥堵辅助 (TJA)、高速辅助驾驶 (HWA)、自动辅助导航驾驶 (NOA) 等在内的功能已为普通车主耳熟能…

美颜sdk的动态面具、3D面具实现流程

在美颜sdk的实现中&#xff0c;面具是很重要的一个部分&#xff0c;不管是动态面具还是3D面具都需要实现的&#xff0c;我们在开发中常用的是动态面具和3D面具。但是两种面具有很多不同之处&#xff0c;比如制作材料、制作方式等等。在这里我们先来了解一下动态面具和3D面具是如…

8个不能错过的程序员必备网站,惊艳到我了!!!

程序员是一个需要不断学习的职业&#xff0c;不少朋友每天来逛CSDN、掘金等网站&#xff0c;但一直都抱着“收藏从未停止&#xff0c;学习从未开始”的态度&#xff0c;别骗自己了兄弟。在编程体系中&#xff0c;有很多不错的小工具&#xff0c;可以极大得提升我们的开发效率。…

电容在微分、积分电路中的本质以及应用

很多朋友觉得PID是遥不可及&#xff0c;很神秘&#xff0c;很高大上的一种控制&#xff0c;对其控制原理也很模糊&#xff0c;只知晓概念性的层面&#xff0c;知其然不知其所以然&#xff0c;那么本期从另类视角来探究微分、积分电路的本质&#xff0c;意在帮助理解PID的控制原…
最新文章