【nowcoder】笔试强训Day8

news2024/11/24 19:48:56

目录

一、选择题

二、编程题 

2.1两种排序方法

 2.2最小公倍数


一、选择题

1.下列选项中关于Java中super关键字的说法正确的是()

A super关键字是在子类对象内部指代其父类对象的引用 

B super关键字不仅可以指代子类的直接父类,还可以直接指代父类的父类

C 子类通过super关键字只能调用父类的方法,而不能调用父类的属性

D 子类通过super关键字只能调用父类的属性,而不能调用父类的方法

super关键字是在子类对象内部指代其父类对象的引用,子类通过super关键字可以调用父类的方法和属性,super关键字只能指代直接父类,不能指代父类的父类。

所以正确答案是

2.A派生出子类B,B派生出子类C,并且在java源代码中有如下声明: 以下哪个说法是正确的?

A a0=new A();
A a1=new B();
A a2=new C();

A 第1行,第2行和第3行的声明都是正确的

B 第1,2,3行都能通过编译,但第2,3行运行时出错

C 第1,2行能通过编译,但第3行编译出错

D 只有第1行能通过编译

在派生关系中,A派生B,B派生C,B和C都可以利用A类对象创造实例。

所以正确答案是 A 

3.以下说法错误的是()

A 数组是一个对象

B 数组不是一种原生类

C 数组的大小可以任意改变

D 在Java中,数组存储在堆中连续内存空间里

数组就是一个对象,不是一种原生类,数组的大小长度是固定的不能改变。数组存储是在堆中的连续内存空间里。

所以正确答案是 C 

4.Test.main() 函数执行后的输出是()

public class Test {
    public static void main(String [] args){
        System.out.println(new B().getValue());
    }
static class A{
    protected int value;
    public A(int v) {
        setValue(v);
    }
    public void setValue(int value){
        this.value = value;
    }
    public int getValue(){
        try{
            value++;
            return value;
        } catch(Exception e){
            System.out.println(e.toString());
        } finally {
            this.setValue(value);
            System.out.println(value);
        }
        return value;
    }
}
static class B extends A{
    public B() {
        super(5);
        setValue(getValue() - 3);
    }
    public void setValue(int value){
        super.setValue(2 * value);
        }
    }
}

A 11 17 34

B 22 74 74

C 6 7 7

D 22 34 17

首先new B()执行B的构造函数,第一行是super(5);super()函数指的是调用父类的构造方法

此时执行的是A的构造函数,A的构造函数调用的是setValue()方法,由于B重写了A的这个方法,所以执行的是B的 setValue()方法。即传入的参数是2*5=10。

此时,因为super,所以调用的是父类的 setValue()方法,即value=10,第一行执行完毕。

第二行是 setValue(getValue()-3),B没有getValue()方法,故执行父类的此方法,try返回的是value=10+1=11,保存在临时栈中。finally中调用this的方法,这个this指的是B的对象,又重写,故就是B的 setValue()方法,value=2*11=22,第一个打印到屏幕上的数字。

接下来参数 getValue()-3=11-3=8,传入B的 setValue()方法,此时value=2*8=16,至此,new B()执行结束。

然后new B(). getValue(),B没有 getValue(),故执行A的 getValue()

try返回16+1=17,保存到临时栈中,finally调用B的 setValue()方法,value=17*2=34,第二个打印到屏幕上面的数字,最后主函数打印返回值,也就是打印try保存到临时栈中的17

所以正确答案是 D 

5.关于Java的异常处理机制的叙述哪些正确?

A 如果程序发生错误及捕捉到异常情况了,才会执行finally部分

B 其他选项都不正确

C 当try区段的程序发生异常且被catch捕捉到时,才会执行catch区段的程序

D catch部分捕捉到异常情况时,才会执行finally部分 

只要有finally代码块,一定会被执行不论是否捕捉到异常情况。但是catch代码块是当try区段的程序发生异常且被catch捕捉到时,才会执行。

所以正确答案是 C 

6.如何跳出Array的forEach循环?()

A break

B return true

C return false

D 以上都不是 

跳出循环使用的关键字是break

所以正确答案是 A 

7.一个以”.java”为后缀的源文件

A 只能包含一个类,类名必须与文件名相同

B 只能包含与文件名相同的类以及其中的内部类

C 只能有一个与文件名相同的类,可以包含其他类

D 可以包含任意类

一个以”.java”为后缀的源文件只能有一个与文件名相同的类,可以包含其他类

所以正确答案是 C 

8.如下Java语句 执行后, x的值是()

double x= 3.0;
int y=5;
x/=--y;

A 3

B 0.6

C 0.4

D 0.75

按照运算符优先级会先执行--y,所以y的值变成4,然后x/4,x为double类型所以结果也是double类型的,结果是0.75。

所以正确答案是 D 

9.下列代码运行后输出结果为()

public class Test1 {
    static int cnt = 6;
    static {
        cnt += 9;
    }
    public static void main(String[] args) {
        System.out.println("cnt =" + cnt);
    }
    static {
        cnt /= 3;
    }
}

A cnt=5

B cnt=2

C cnt=3

D cnt=6

进入程序中首先定义了int,然后先执行静态构造块,先+=9,然后/=3,得到的结果是5,然后执行main方法输出结果。

所以正确答案是 A 

10.以下程序的运行结果是()

public class Increment
{
    public static void main(String args[])
    {
        int a;
        a = 6;
        System.out.print(a);
        System.out.print(a++);
        System.out.print(a);
    }
}

A 666

B 667

C 677

D 676

本题中考察的++运算符,在输出时实现输出a,然后结束这层使用后a才会变成a+1。所以前两个输出都是6,最后一个是7。

所以正确答案是

二、编程题 

2.1两种排序方法

考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如: "car" < "carriage" < "cats" < "doggies < "koala" 2.根据字符串的长度排序。例如: "car" < "cats" < "koala" < "doggies" < "carriage" 考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。

 本题创建两个方法来判断满足哪一种排序方法,iscd用于判断该字符串是不是按照字符串长度排序,遍历n个字符串,是否从前向后每个字符串都比前面的长。

isze用来判断该字符串是否按照字典序列排序,利用String类的compareTo方法来进行两个字符串的比较,str[i].compareTo(str[i+1])<0即满足条件。

然后结合两个返回值判断到底满足哪种排序方法。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String[] str = new String[n];
        for (int i = 0; i <n; i++) {
            str[i] = sc.next();
        }
        boolean zd = isze(str);
        boolean cd = iscd(str);
        if(zd&&cd){
            System.out.println("both");
        }else if(cd){
            System.out.println("lengths");
        }else if(zd){
            System.out.println("lexicographically");
        }else{
            System.out.println("none");
        }
    }
    private static boolean iscd(String[] str) {
        for (int i = 0; i < str.length-1; i++) {
            if(str[i].length()>=str[i+1].length()){
                return false;
            }
        }
        return true;
    }
    private static boolean isze(String[] str) {
        for (int i = 0; i < str.length-1; i++) {
            if(str[i].compareTo(str[i+1])>=0){
                return false;
            }
        }
        return true;
    }
}

 2.2最小公倍数

正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。

 首先找到两个数中更大的那个数,公倍数的意义就是最小的能整除这两个数的一个数,找到更大的那个然后一直++,直到找到能将两个数都整除的数为止。

import java.util.*;
public class Main {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int max = Math.max(a,b);
        int min = Math.min(a,b);
        for(int i = max;i>0;i++){
            if(i % max == 0 && i % min == 0){
                System.out.println(i);
                break;
            }
        }
    }
}

 

 

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

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

相关文章

SpreadJS 16新建文件格式,Data Manager中的层次结构

SpreadJS 16新建文件格式,Data Manager中的层次结构 为TableSheet、Designer、Calculation、Shape和Workbook添加增强功能。 2022年12月22日-16:53新版本 特征 新建文件格式 新的.sjs文件格式使ExcelIO进程更快、更小。 表页增强功能 Data Manager中的层次结构。 Data Manager字…

【代码随想录】链表-golang

链表 from 代码随想录 移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 思路&#xff1a;设置一个新的节点&#xff0c;节点的下一个是链表的第一个节点 /*** Definition f…

阿根廷夺冠早已预判,梅西经济爆火,这款产品在跨境电商卖断货了

2022年12月18日23:00&#xff0c;世界杯的决赛将举行&#xff0c;阿根廷会战法国&#xff1b;期间&#xff0c;梅西和姆巴佩也将会在绿茵场上狭路相逢。而作为现役名声最为响亮的球星之一&#xff0c;此次卡塔尔也是梅西最后一次征战世界杯赛场&#xff0c;同时&#xff0c;随着…

基于Python实现电影推荐系统【100010052】

电影推荐系统 标签&#xff1a;Tensorflow、矩阵分解、Surprise、PySpark 1、用Tensorflow实现矩阵分解 1.1、定义one_batch模块 import numpy as np import pandas as pddef read_and_process(filename, sep ::):col_names [user, item, rate, timestamp]df pd.read_cs…

IP判断.库函数复习.数组.C

strtok(在string.h库里&#xff09;函数以"."为分隔符对IP字符串进行切分. atoi函数&#xff08;在stdlib.h里&#xff09;将切分的一部分字符串转换为十进制数字. 描述 C 库函数 char *strtok(char *str, const char *delim) 分解字符串 str 为一组字符串&#xf…

LeetCode题目笔记——1759. 统计同构子字符串的数目

文章目录题目描述题目难度——中等方法一&#xff1a;数学代码/C代码/Python总结题目描述 给你一个字符串 s &#xff0c;返回 s 中 同构子字符串 的数目。由于答案可能很大&#xff0c;只需返回对 109 7 取余 后的结果。 同构字符串 的定义为&#xff1a;如果一个字符串中的…

300道网络安全工程师面试题(附答案解析)冲刺金三银四

2022年马上就要过去了&#xff0c;先来灵魂三连问&#xff0c;年初定的目标完成多少了&#xff1f;薪资涨了吗&#xff1f;女朋友找到了吗&#xff1f; 好了&#xff0c;不扎大家的心了&#xff0c;接下来进入正文。 由于我之前写了不少网络安全技术相关的文章和回答&#xff…

nginx 报400_nginx 400 Bad request

记录一次自己写出来的bug. 首先自己在gateway中做了filter,操作了header 操作中返回的报错400 nginx, 所以一直将矛头指向了nginx配置,但是各种查询和修改后,错误依旧. 静下心来一步步的看,发现请求实际上已经通过nginx发送到了gateway中,并且gateway日志中也清楚的记录了lo…

[普及练习场]失踪的7

本专辑上篇&#xff1a; [普及练习场] 生活大爆炸版石头剪刀布 看得都爽&#xff0c;对吧&#xff01;感谢hydro的页面和浴谷的搬运。 目录 一.读题 失踪的7 题意 二 .做题 算法原理 算法实现 全篇代码分解讲解 输入 中心 一.读题 失踪的7 题目描述 远古的 Pascal 人也…

FIT2CLOUD飞致云荣膺“2022年度OSCHINA优秀开源技术团队”奖项

2022年12月&#xff0c;知名开源技术社区OSCHINA&#xff08;开源中国&#xff09;公布了“2022年度OSCHINA优秀开源技术团队”入选名单。凭借在开源软件研发和开源社区运营方面的优秀表现&#xff0c;FIT2CLOUD飞致云获得了OSCHINA社区的认可&#xff0c;荣膺“2022年度优秀开…

基于人脸关键点检测的驾驶员睡意检测系统

摘要 驾驶员注意力不集中或者分心是道路交通事故的主要原因。 为了减少道路交通事故&#xff0c;设计开发驾驶员疲劳检测系统至关重要。 本研究利用人脸关键点检测方法提出了驾驶员睡意检测系统&#xff0c;目的是使驾驶更安全。 一.人类检测方法 人脸关键点检测是人脸识别任…

B. Array Walk(贪心)

Problem - 1389B - Codeforces 给你一个数组a1,a2,...,an&#xff0c;由n个正整数组成。 最初&#xff0c;你站在索引1处&#xff0c;分数等于a1。你可以进行两种移动。 向右移动--从你当前的索引x走到x1&#xff0c;并将ax1加入你的分数。这个动作只有在x<n时才能进行。 …

黑客窃取 4 亿 Twitter 用户记录,勒索马斯克破财消灾

整理 | 何苗 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 上周五&#xff0c;一个用户名为 Ryushi 的用户在黑客论坛 Breached 上发布了一个帖子声称&#xff0c;已成功利用漏洞抓取了超 4 亿 Twitter 用户数据并在线出售。 为了证明数据的真实性&am…

spring cloud gateway网关转发websocket请求

springcloud gateway网关是所有微服务的统一入口。 1、springcloud gateway关键术语 Route&#xff1a;路由&#xff0c;网关配置的基本组成模块。一个Route模块由一个 ID&#xff0c;一个目标 URI&#xff0c;一组断言和一组过滤器定义。如果断言为真&#xff0c;则路由匹配…

经营报表-FineReport配置Oracle外接数据库(2)

1. 配置外接数据库 1.1 外接数据库配置入口 外接数据库的配置入口&#xff0c;有三种形式&#xff1a; 1&#xff09;超级管理员第一次登录数据决策系统时&#xff0c;即可为系统配置外接数据库。如下图所示&#xff1a; 2&#xff09;对于使用内置数据库的系统&#xff0c;管…

蓝桥杯嵌入式|第十三届蓝桥杯嵌入式省赛程序设计试题及其题解

题目 十三届省赛是要制作一个可由串口设置密码的密码锁。在本场比赛中&#xff0c;我们将用到LED模块、按键模块、串口模块、定时器的PWM模块以及官方会提供源码的LCD模块。下面就请看原题&#xff1a; 题解 在正式题解前&#xff0c;大家需要注意以下几点&#xff1a; 由于LCD…

《计算机网络》——第二章知识点

物理层:在连接各种计算机的传输媒体上传输数据比特流&#xff0c;确定与传输媒体接口有关的一些特性。1.机械特性 定义物理连接的特性&#xff0c;规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况。 2.电气特性 规定传输二进制位时&#xff0c;线路上信…

【深度学习框架TensorFlow】使用TensorFlow框架构建全连接的神经网络,实现手写数字识别

文章目录一.TensorFlow1.1 内容介绍二.开始实验2.1TensorFlow的基本使用2.2基于全连接神经网络的手写数字识别2.3 结论一.TensorFlow 使用深度学习框架TensorFlow。 目标&#xff1a; 1.了解TensorFlow的基本用法&#xff1b; 2.学习使用TensorFlow构建全连接的神经网络&…

双周赛(三)

T1&#xff1a; 如果你仍然再用二指禅打字&#xff0c;那我建议你重新学习打字&#xff0c;这样你打字会更快&#xff0c;感觉更舒适和愉快。 有很多网站教授正确的打字。下图描述了基本原理: 用同一手指按压颜色相同的键。黄色键需要用小指按压&#xff0c;蓝色的用无名指&a…

最新 iOS 更新后 iPhone 联系人和数据丢失/丢失

我两天前做了最新的更新&#xff0c;现在我有丢失的联系人。帮助&#xff01;&#xff01; 许多 iPhone 用户犹豫是否将他们的设备升级到最新的 iOS 系统有一个&#xff08;也许是几个&#xff09;充分的理由。每次 iOS 发布后&#xff0c;总会有新功能震撼我们的世界。但是&am…