【笔试训练】统计回文

一、单选

1、以下代码结果是什么()

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

A. 代码可以编译运行,输出“AB.AB”。

B. 代码可以编译运行,输出“A.A”。

C. 代码可以编译运行,输出“AB.B”。

D. 代码可以编译运行,输出“A.B”。


答案:C

引用类型的传参传递的是地址。所以上述代码中的operate方法中给x拼接一个y的值,那么a的值就是AB,将x赋值给y表示的是将对象地址传给了y,y=x表示的是让y指向了其他对象。所以b的值没有变化,所以最终结果为AB.B

2、 在JAVA中,假设A有构造方法A(int a),则在类A的其他构造方法中调用该构造方法和语句格式应该为()

A. this.A(x)    B. this(x)     C. super(x)    D. A(x)


答案:B

this.只能是类中的普通方法和属性,不能是构造方法,想要在类A的其他构造方法中调用这个构造方法使用的是this(x).

3、下面代码的运行结果是()

public static void main(String[] args){String s;System.out.println("s="+s);
}    

 A. 代码编程成功,并输出”s=”

B. 代码编译成功,并输出”s=null”

C. 由于String s没有初始化,代码不能编译通过。

D. 代码编译成功,但捕获到NullPointException异常


答案:C

这个s变量由于是在方法中,所以他是一个局部变量,Java中想要使用局部变量,就必须先给变量初始化。

4、以下代码的返回值是()

public boolean returnTest(){try{return true;}catch (Exception e){}finally{return false;}
}

A. true           B. false


答案:B

按照我们正常的思维程序遇到return就结束了,但是由于是try-catch,finally是一定会被执行的,最后执行的是finally中的代码,所以程序的输出结果为false.

5、指出以下程序运行的结果是

public class Example{String str=new String("good");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");System.out.print(ex.ch);}public void change(String str,char ch[]){//引用类型变量,传递的是地址,属于引用传递。str="test ok";ch[0]='g';}
}

A. good and abc    B. good and gbc     C. test ok and abc     D. test ok and gbc


答案:B

这个题和第一个题类似,引用类型传参,传递的是对象的地址,并不是对象的值。所以change方法中对对象的值做出的改变,会影响到方法外部的对象,但是change方法中str对象表示的意思为修改了形参str的执行,而不是修改对象中的值,并没有改变外部str的值。ch数组中将0下标位置的值修改为g,所以程序的最终输出结果为good and gbc.

二、多选 

下列有关JAVA异常处理的叙述中正确的是()

A. finally是为确保一段代码不管是否捕获异常都会被执行的一段代码

B. throws是用来声明一个成员方法可能抛出的各种非运行异常情况

C. final用于可以声明属性和方法,分别表示属性的不可变及方法的不可继承

D. throw是用来明确地抛出一个异常情况


答案:ABD

final修饰方法表示这个方法不能被重写,而不是被继承。

三、 统计回文

题目描述

 题目解析

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String str1 = scan.nextLine();String str2 = scan.nextLine();//1、向str1中插入字符串str2。但是不能直接在str1字符串中插入,会导致str1发生改变//我们需要创建一个变量,使这个变量等于str1的值,对这个变量中的值进行修改int count = 0;//这里i能够等于str1的长度,是因为插入元素的时候,也可以插入到字符串的末尾for (int i = 0; i <= str1.length(); i++) {StringBuffer str3 = new StringBuffer(str1);str3.insert(i,str2);//2、逆置字符串str3StringBuffer str4 = new StringBuffer(str3);str4.reverse();//3、判断逆置前后字符串是否相同if(str4.toString().equals(str3.toString())){count++;}}System.out.println(count);}
}

 代码讲解:

  • 第一次创建StringBuffer对象是因为要创建一个新的对象,对新的对象进行操作,如果使用String来创建一个变量指向str1的话,只是将str1的地址传给了它,修改的对象还是str1所指向的对象。
  • 第二此创建新的StringBuffer对象是因为reverse方法操作的是,调用它的对象,不会返回新的对象,我们需要将逆置的对象的值与没有逆置的进行对比,判断是否为回文串。
  • 第3步时判断两个字符串是否相等,为什么不直接使用equals进行比较,还要调用toString方法。这是因为StringBuffer类中没有equals方法,我们需要使用toString方法将StringBuffer类型的对象转换成String类型的对象。

 

 

 


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg+intel核显实现硬解码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、前言二、检查方法1.图形法2.nvidia-smi3.intel-gpu-tools 三、安装使用1.libva-dev2.libva-utils3.编译安装4.测试1.vainfo2.ffmpeg测试解码 总结 前言 之…

nuxt.js框架使用

1、这种框架只要页面有一个地方错&#xff0c;都会出现404或者吓人的报错界面。 如表单的prop属性&#xff0c;在data函数return对象里面该字段找不到或者不一致&#xff0c;就会报404。 2、使用字典&#xff0c;对字典进行翻译。 在plugins/methods.js文件里面&#xff0c;加…

电脑连接安卓设备显示offline

The Android is offline. This can be resolved by physically disconnecting and...用USB线连接手机和电脑&#xff0c;打开cmd&#xff0c;输入adb devices -l, adb devices -l结果显示可以识别手机&#xff0c;但是状态为offline 打开另外一个终端&#xff0c;输入 adb k…

Spring MVC程序开发

目录 1. 什么是Spring MVC? 1.1 什么是MVC 1.2 MVC和Spring MVC 的关系 1.3 为什么要学Spring MVC? 2. Spring MVC的使用 2.1 Spring MVC的创建和连接 2.1.1 项目创建 2.1.2 项目连接 2.1.2.1 连接 2.1.2.2 RequestMapping注解介绍 2.1.2.3 GetMapping和 PostMapping 2.2 获取…

EFLFK——ELK日志分析系统+kafka+filebeat架构

环境准备 node1节点192.168.40.16elasticsearch2c/4Gnode2节点192.168.40.17elasticsearch2c/4GApache节点192.168.40.170logstash/Apache/kibana2c/4Gfilebeat节点192.168.40.20filebeat2c/4G https://blog.csdn.net/m0_57554344/article/details/132059066?spm1001.2014.30…

【生成式AI】ProlificDreamer论文阅读

ProlificDreamer 论文阅读 Project指路&#xff1a;https://ml.cs.tsinghua.edu.cn/prolificdreamer/ 论文简介&#xff1a;截止2023/8/10&#xff0c;text-to-3D的baseline SOTA&#xff0c;提出了VSD优化方法 前置芝士:text-to-3D任务简介 text-to-3D Problem text-to-3D…

实例035 动画形式的程序界面

实例说明 在很多的程序界面中&#xff0c;都是以菜单或工具栏的形式显示窗体界面&#xff0c;这种显示方式是以静止状态显示的&#xff0c;界面不够生动。下面介绍一个以动画显示窗体界面的设计方法。运行本例&#xff0c;效果如图1.35所示。 技术要点 在该实例中用到了Micr…

配置nginx服务端口时-在同一个页面中打开多个地址端口-查看服务情况

1&#xff1a;把代码保存到xxx.html文件中 2&#xff1a;因为一个个端口打开查看&#xff0c;实在太麻烦了 3&#xff1a;在一个页面中查看多页的响应才能提高测试效率 <html><head><title>本地连接列表</title> </head><body><cente…

Java课题笔记~ HTTP协议(请求和响应)

Servlet最主要的作用就是处理客户端请求&#xff0c;并向客户端做出响应。为此&#xff0c;针对Servlet的每次请求&#xff0c;Web服务器在调用service()方法之前&#xff0c;都会创建两个对象 分别是HttpServletRequest和HttpServletResponse。 其中HttpServletRequest用于封…

shapely库的用法,高效处理点、线、面的几何关系和相关延申(GeoPandas 库)python

1、shapely库的基本用法 Shapely 是一个用于处理几何对象的 Python 库&#xff0c;它提供了各种函数和方法来进行空间分析和几何计算。下面是一些 Shapely 库的常见用法示例&#xff1a; 1. 创建几何对象&#xff1a; from shapely.geometry import Point, LineString, Poly…

【Flutter】【基础】CustomPaint 绘画功能,绘制各种图形(二)

CustomPaint 使用实例和代码&#xff1a; 1.canvas.drawColor 绘制背景颜色 class MyPainter1 extends CustomPainter {overridevoid paint(Canvas canvas, Size size) {//绘制背景颜色&#xff0c;整个UI 现在就是红色的canvas.drawColor(Colors.red, BlendMode.srcATop);}…

Maven安装与配置

目录 一、Maven简介1.1 概述1.2 作用1.3 仓库 二、安装三、配置3.1 配置环境变量3.2 环境变量测试3.3 配置仓库 一、Maven简介 1.1 概述 Maven是一个开源的项目管理工具&#xff0c;用于构建和管理Java项目&#xff0c;基于项目对象模型&#xff08;POM&#xff09;的概念。它…

数据库优化脚本执行报错

目录 一、执行数据库优化脚本 报错... 3 解决方法&#xff1a;... 4 1、直接注释掉RECYCLE_POOLS 赋值sql语句块... 4 2、手动修改脚本... 5 附录... 6 一、执行数据库优化脚本 报错 AutoParaAdj3.5_dm8.sql 1&#xff09;manager中报错 -20001: 执行失败, -7065 数据未…

青大数据结构【2015】

一、单选 二、简答 5.如果一组关键字&#xff0c;以不同的次序输入后建立起来的二叉排序树是否相同&#xff1f;当中序遍历这些二叉排序树时&#xff0c;其遍历的结果是否相同&#xff1f;为什么&#xff1f; 不同&#xff0c;因为输入次序不同&#xff0c;所放置的位置与上一…

Stable Diffusion - 俯视 (from below) 拍摄的人物图像 LoRA 与配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132192139 图像来自 哥特风格 LoRA 俯视 LoRA&#xff0c;提升视觉冲击力&#xff0c;核心配置 <lora:view_from_below:0.6>,(from below,…

时间复杂度与空间复杂度的详解

目录 1.时间复杂度 2.时间复杂度计算例题 3.空间复杂度 1.时间复杂度 算法中的基本操作的执行次数&#xff0c;为算法的时间复杂度。 如何表达 时间复杂度&#xff1f; 大O的渐进表示法 实际中我们计算时间复杂度时&#xff0c;我们其实并不一定要计算精确的执行次数&#xf…

nginx基于源码安装的方式对静态页面、虚拟主机(IP、端口、域名)和日志文件进行配置

一.静态页面 1.更改页面内容 2.更改配置文件 3.测试 二.虚拟主机配置 1.基于IP &#xff08;1&#xff09;在html目录下新建目录存放测试文件 &#xff08;2&#xff09;修改nginx.conf文件&#xff0c;在htttp模块中配置两个server模块分别对应两个IP &#xff08;3&am…

外部节点访问 k8s 集群内的 starrocks

问题描述 用kubeadm在虚拟机搭建了k8s&#xff0c;按starrocks官网步骤&#xff0c;用k8s部署了starrocks 部署成功&#xff1a; 在 k8s集群内节点访问到 sr&#xff1a;&#xff08;通过 clusterIP &#xff09; mysql -h 10.97.182.109 -uroot -P 9030 k8s 节点内访问成功…

创建CREATE_STAT_TABLE 统计信息表在达梦和oracle中的使用

达梦 创建CREATE_STAT_TABLE 统计信息表 PROCEDURE CREATE_STAT_TABLE ( STATOWN VARCHAR(128), STATTAB VARCHAR(128), TABLESPACE VARCHAR(128) DEFAULT NULL, GLOBAL_TEMPORARY BOOLEAN DEFAULT FALSE ); 创建普通表的对应系统表的列名字段包括以下&#xff1a; OWNER TABL…

Linux MQTT智能家居项目(智能家居界面布局)

文章目录 前言一、创建工程项目二、界面布局准备工作三、正式界面布局总结 前言 一、创建工程项目 1.选择工程名称和项目保存路径 2.选择QWidget 3.添加保存图片的资源文件&#xff1a; 在工程目录下添加Icon文件夹保存图片&#xff1a; 将文件放入目录中&#xff1a; …