【Java笔试强训 10】

news2024/11/26 14:37:10

🎉🎉🎉点进来你就是我的人了
博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!

欢迎志同道合的朋友一起加油喔🤺🤺🤺


目录

一、选择题

二、编程题

    🔥井字棋

    🔥密码强度等级



一、选择题

1、下列运算符合法的是( )
A &&
B <>
C if
D :=
正确答案: A
参考答案:
注解:java 中没有<> := 这种运算符, if else不算运算符
2、下面代码运行结果是()

public class Test{
public int add(int a,int b){
try {
return a+b;
catch (Exception e) {
System.out.println("catch语句块");
}
finally{
System.out.println("finally语句块");
}
return 0;
}
public static void main(String argv[]){
Test test =new Test();
System.out.println("和是:"+test.add(9, 34));
}
}

A catch语句块 和是:43
B 编译异常
C finally语句块 和是:43
D 和是:43 finally语句块
正确答案: C
3、下列Java代码中的变量a、b、c分别在内存的____存储区存放。

class A {
private String a = “aa”;//全局变量、类的实例,存放在堆中
public boolean methodB() {
String b = “bb”;//局部变量,存在栈里面,方法使用完,栈释放
final String c = “cc”;
}
}

A 堆区、堆区、堆区
B 堆区、栈区、堆区
C 堆区、栈区、栈区
D 堆区、堆区、栈区
E 静态区、栈区、堆区
F 静态区、栈区、栈区
正确答案: C
参考答案:
全局变量、类的实例,存放在堆中;局部变量,存在栈里面,方法使用完,栈释放。
4、以下声明合法的是
A default String s
B public final static native int w( )
C abstract double d
D abstract final double hyperbolicCosine( )
正确答案: B
参考答案:
抽象方法:被继承需要重写,但是finally修饰的是不能被继承的。
5、在使用super 和this关键字时,以下描述正确的是
A 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B super()和this()不一定要放在构造方法内第一行
C this()和super()可以同时出现在一个构造函数中
D this()和super()可以在static环境中使用,包括static方法和static语句块
正确答案: A
参考答案:
static修饰的是类的,只有一份。
6、下面代码的输出结果是什么?

public class ZeroTest {
public static void main(String[] args) {
try{
int i = 100 / 0;
System.out.print(i);
}catch(Exception e){
System.out.print(1);
throw new RuntimeException();
}finally{
System.out.print(2);
}
System.out.print(3);
}
}

A 3
B 123
C 1
D 12
正确答案: D
7、代码片段:

byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
b6=b4+b5;
b3=(b1+b2);
System.out.println(b3+b6)

关于上面代码片段叙述正确的是()
A 输出结果:13
B 语句:b6=b4+b5编译出错
C 语句:b3=b1+b2编译出错
D 运行期抛出异常
正确答案: C
参考答案:
使用+的时候,会把byte的类型变成int类型,被finally修饰的不能被改变。b3=(b1+b2)编译会出错。
8、以下java程序代码,执行后的结果是()

public class Test {
public static void main(String[] args) {
Object o = new Object() {
public boolean equals(Object obj) {
return true;
}
};
System.out.println(o.equals("Fred"));
}
}

A Fred
B true
C 编译错误
D 运行时抛出异常
正确答案: B
参考答案:
考察的知识点:多态、重载
首先,创建了一个匿名内部类,并将所创建的匿名对象赋给 Object (多态:子类对象赋给超类引用)。同时,该匿名内部类重写了 Object 类的 equals 方法,根
据多态及覆盖原则,会调用匿名内部类重写后的 equals 方法,所以选B。
9、执行以下程序后的输出结果是()

public class Test {
public static void main(String[] args) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operator(a, b);
System.out.println(a + "," + b);
}
public static void operator(StringBuffer x, StringBuffer y) {
x.append(y); y = x;
}
}

A A,A
B A,B
C B,B
D AB,B
正确答案: D
10、下面所示的java代码,运行时,会产生()类型的异常

int Arry_a[] = new int[10];
System.out.println(Arry_a[10]);

A ArithmeticException
B NullPointException
C IOException
D ArrayIndexOutOfBoundsException
正确答案: D


二、编程题

      🔥井字棋

井字棋_牛客题霸_牛客网
【解题思路】:
井字棋有四种情况表示当前玩家获胜,1代表当前玩家棋子 1. 行全为1, 即行的和为3 2. 列全为1, 列的和为3 2. 主对角全为1, 对角和为3 副对角全为1, 对角和为3 3. 如果扩展为N*N的话,判断和是否等于N.

import java.util.*;

public class Board {
    public boolean checkWon(int[][] board) {
       int n=board.length;
        int i=0;
        int j=0;
        int sum=0;
        //检查行
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                sum+=board[i][j];
                if(sum==n){
                    return true;
                }
            }
        }
        //检查列
        sum=0;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                sum+=board[j][i];
                if(sum==n){
                    return true;
                }
            }
        }
        //检查主对角巷
        sum=0;
        for(i=0;i<n;i++){
           sum+=board[i][i];
            if(sum==n){
                return true;
            }
        }
        //检查副对角线
        sum=0;
        for(i=0;i<n;i++){
            sum+=board[i][n-1-i];
            if(sum==n){
                return true;
            }
        }
        return false;
    }
}

 🔥密码强度等级

密码强度等级_牛客题霸_牛客网

 【解题思路】:
这里对于不同种类的字符得分不同,同学们可以现对每一个维度进行单独判断,即对于长度,字母,数字,符号单独判断,最后把所有的单项值根据题目要求相加,输出对应的安全级别。

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        while(scanner.hasNextLine()){
            String str=scanner.nextLine();
           int sum=0;
            int sum1=getLen(str);
            int sum2=getChar(str);
            int sum3=getNum(str);
            int sum4=getString(str);
         if(sum2==20&&sum3>0&&sum4>0){
               sum=sum1+sum2+sum3+sum4+5;
            }else if(sum2==10&&sum3>0&&sum4>0){
                sum=sum1+sum2+sum3+sum4+3;
            }else if(sum2==10&&sum3>0&&sum4==0){
               sum=sum1+sum2+sum3+sum4+2;
            }else{
               sum=sum1+sum2+sum3+sum4;
            }       
        if(sum>=90){
            System.out.print("VERY_SECURE");
        }else if(sum>=80){
           System.out.print("SECURE"); 
        }else if(sum>=70){
            System.out.print("VERY_STRONG");
        }else if(sum>=60){
             System.out.print("STRONG");
        }else if(sum>=50){
             System.out.print("AVERAGE");
        }else if(sum>=25){
             System.out.print("WEAK");
        }else if(sum>=0){
             System.out.print("VERY_WEAK");
        }
     }
    }
    public static int getLen(String str){
        int len=str.length();
       if(len>=8){
           return 25;
       } else if(len>=5&&len<=7){
            return 10;
        } else if(len<=4){
           return 5;
       }
        return 0;
     }  
     public static int getChar(String str){
         int len=str.length();
         int count1=0;
         int count2=0;
         for(int i=0;i<len;i++){
             if(str.charAt(i)>=65&&str.charAt(i)<=90){
                 count1++;
             }else if(str.charAt(i)>=97&&str.charAt(i)<=122){
                 count2++;
             }       
         }
         if(count1>0&&count2>0){
             return 20;
            }else if(count1>0||count2>0){
               return 10;
            }else{
             return 0;
            } 
      }
        public static int getNum(String str){
            int len=str.length();
            int count=0;
            for(int i=0;i<len;i++){
                if(str.charAt(i)-'0'>=0&&str.charAt(i)-'0'<=9){
                    count++;
                }
            }
            if(count>1){
                return 20;
            }else if(count==1){
                return 10;
            }else{
                return 0;
            }
        }
        public static int getString(String str){
            int len=str.length();
            int num=0;
            for(int i=0;i<len;i++){
                if(!((str.charAt(i)>=65&&str.charAt(i)<=90))&&
                    !((str.charAt(i)>=97&&str.charAt(i)<=122))&&
                   !((str.charAt(i)-'0'>=0&&str.charAt(i)-'0'<=9))
                  ){
                    num++;
                }
            }
            if(num>1){
                return 25;
            }else if(num==1){
                return 10;
            }else{
                return 0;
            }
        }   
}

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

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

相关文章

大数据技术之大数据概论

第1章 大数据概念 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产 大数据主要解决&#xff0c;海量数据的采集、存…

【吴恩达推荐】《ChatGPT Prompt Engineering for Developers》- 知识点目录

《ChatGPT Prompt Engineering for Developers》 1 Introduction 2 Guidelines Principle 1: Write clear and specific instructions Tactic 1: Use delimiters Tactic 3: “If-statement” Check whether conditions are satisfiedCheck assumptions required to do the …

RDD的Stage划分原理

1. 什么是RDD RDD&#xff08;Resilient Distributed Dataset&#xff09;叫做分布式数据集&#xff0c;是Spark 中最基本的数据抽象&#xff0c;它代表一个不可变、可分区、里面的元素可并行计算的集合。在Spark 中&#xff0c;对数据的所有操作不外乎创建RDD、转化已有RDD 以…

JavaBeaneljstl

1.JavaBean 1.1 什么是JavaBean JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean&#xff0c;类必须是具体的和公共的&#xff0c;并且具有无参数的构造器 简单一点&#xff1a;建一个类,给一个无参的构造方法. 它就是JavaBean&#xff0c;对应JavaBean来说&#x…

【C++】程序员的屠龙母鸡:二叉树进阶OJ题详解

不会自动生成&#xff0c;还是我自己写目录吧 -.- 文章目录 前言一、稍微简单一点的二叉树OJ题二、相对困难一点的二叉树OJ题总结 前言 在看这篇文章前希望大家是学过二叉树的&#xff0c;不然理解起来可能会比较费劲&#xff0c;但我会尽自己的努力让大家学会这些题&#xf…

TensorFlow会被JAX代替吗,使用JAX训练第一个机器学习模型

上期文章我们分享了JAX的概念&#xff0c;Jax 是来自 Google 的一个相对较新的机器学习库。它更像是一个 autograd 库&#xff0c;可以区分每个本机 python 和 NumPy 代码。 “PythonNumPy 程序的可组合转换&#xff1a;微分、向量化、JIT 到 GPU/TPU 等等”。该库利用 grad 函…

vue 视频播放插件vue-video-player自定义样式

1、背景 项目中有涉及视频播放的需求&#xff0c;并且UI设计了样式&#xff0c;与原生的视频video组件有差异&#xff0c;所以使用了vue-video-player插件&#xff0c;并对vue-video-player进行样式改造&#xff0c;自定义播放暂停按钮、全屏按钮、时间进度条样式等 2、效果图…

10分钟叫你如何学会组织Prompt语言同AI沟通

提示词&#xff08;Prompt&#xff09;是与AI模型交流的语言&#xff0c;用以告诉AI模型想要生成的图像的特征。提示词的准确性、精准度直接决定了生成的图像是否符合我们的预期。 基础介绍 AIGC提示词通常由多个单词、词组或短句构成&#xff0c;以***,***分割组成&#xff…

如何更改Windows服务器时间

Windows操作系统自带时间同步功能&#xff0c;它会自动从互联网时间服务器获取时间&#xff0c;以保证系统时间的准确性。但是&#xff0c;有时候我们需要更改时间服务器&#xff0c;以获得更准确的时间同步。小编将为大家介绍如何更改Windows时间服务器&#xff0c;以及Window…

java基础知识——22.lambda表达式

这篇文章&#xff0c;我们来讲一下java的lambda表达式 目录 1.初识lambda表达式 2.lambda表达式介绍 2.1 函数式编程 2.2 lambda表达式的具体格式 2.3 Lambda表达式的好处 2.4 Lambda的省略写法 1.初识lambda表达式 首先&#xff0c;我们来看一下lambda表达式的应用 下…

运维——ssh无法登录云服务器

0x00 概述 一般来讲&#xff0c;无法登录ssh的原因挺多&#xff0c;如果无法登录云服务器&#xff0c;则除了要检查ssh端口是否放行&#xff0c;防火墙状态外&#xff0c;还需要检查云服务器web控制台入站规则是否开放了对应端口。如果你前面检查都是正常&#xff0c;那么还需…

实战打靶集锦-017-potato

提示&#xff1a;本文记录了博主的一次打靶过程 目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 Apache探查4.2 ProFTPD探查4.2.1 strcmp()函数绕过4.2.2 查找apache日志文件4.2.3 查看/etc/passwd文件4.2.4 破译密码4.2.5 突破边界 5. 提权5.1 系统信息枚举5.2 定时任…

基于Yolov5的NEU-DET钢材表面缺陷检测,优化组合新颖程度较高:CVPR2023 DCNV3和InceptionNeXt,涨点明显

1.钢铁缺陷数据集介绍 NEU-DET钢材表面缺陷共有六大类,分别为:crazing,inclusion,patches,pitted_surface,rolled-in_scale,scratches 每个类别分布为: 训练结果如下: 2.基于yolov5s的训练 map值: 2.1 Inception-MetaNeXtStage 对应博客:https://cv2023.blog.csdn.n…

实验5 彩色图像处理与图像变换

文章目录 一、实验目的二、实验内容1. 彩色图像平滑。(课本P310 例6.12)2. 彩色边缘检测。(课本P318 例6.16)3. 一维小波变换。(课本P364 例7.20)4. 二维小波变换。(课本P369 例7.22)5. 小波包分解。(课本P376 例7.24) 一、实验目的 掌握RGB彩色模型和HSI彩色模型之间的转换方…

C语言指针的使用

文章目录 前言一、指针基本概念介绍二、指针的大小三、使用指针访问变量和变量地址四、使用指针遍历数组总结 前言 一、指针基本概念介绍 在 C 语言中&#xff0c;指针是一种用于存储内存地址的数据类型。指针可以存储任何数据类型的内存地址&#xff0c;包括基本数据类型、数…

C语言之单链表的实现以及链表的介绍

一、为什么会存在链表 因为我们常用的顺序表会存在以下的一些问题&#xff1a; 1. 中间/头部的插入删除&#xff0c;时间复杂度为O(N) 2. 增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间。会有不小的消耗。 3. 增容一般是呈2倍的增长&#xff0c;势必会有一定…

算法的特性和空间复杂度---数据结构

目录 前言&#xff1a; 1.算法 1.1算法的特性 1.2设计算法 2.空间复杂度 3.学习复杂度的意义 ❤博主CSDN&#xff1a;啊苏要学习 ▶专栏分类&#xff1a;数据结构◀ 学习数据结构是一件有趣的事情&#xff0c;希望读者能在我的博文切实感受到数据之间存在的关系&#xff…

【3dmax】常用的快捷键总结以及如何修改快捷键

&#x1f497; 未来的游戏开发程序媛&#xff0c;现在的努力学习菜鸡 &#x1f4a6;本专栏是我关于建模的笔记 &#x1f236;本篇是3dmax常用的快捷键总结以及如何修改快捷键 3dmax常用的快捷键总结以及如何修改快捷键 3dmax常用快捷键如何添加或修改快捷键 3dmax常用快捷键 视…

go pprof性能调优工具

go pprof 一、性能调优原则二、pprof1、pprof 功能简介2、pprof 排查实战前置工作a、CPUb、Heapc、goroutined、mutexe、block 3、pprof 的采样过程和原理a、cpub、heapc、goroutine && threadCreated、block && mutex 三、调优流程1、业务优化a、流程 2、基础…

2023.4.17-4.23 AI行业周刊(第146期):创业要趁早

最近有很多外部拓展培训的需求&#xff0c;联盟的共学课程培训&#xff0c;公司视觉软件的培训&#xff0c;行业课程的培训&#xff0c;每一项培训听起来简单&#xff0c;但是其实都需要大量的时间精力。 前两年也准备过一份《30天入门人工智能》的视频课程&#xff0c;总共31…