十三届蓝桥杯真题JavaB组解析+代码(带你复习知识点)(一)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析DNS,个人版 1个月
云解析 DNS,旗舰版 1个月
简介: 十三届蓝桥杯真题JavaB组解析+代码(带你复习知识点)(一)

试题 A: 星期计算 【填空题】

d9871d1d7cf641dd971fe0938e13b0aa.png

答案:7

解析:直接对所给数进行取余,然后直接再加6(注意:不能直接让20^22+6再对7进行取余操作,这是不对的,这个6可以看成已经取余过了。) 直接取余的话可以使用java自带的Math.pow(数,次方),或者使用BigInteger(BigInteger和int的区别就是前者范围没有限制,所以可以直接使用)。


实现代码:

方法一:使用BigInteger解

public class one {
  public static void main(String[] args) {
    BigInteger bigInteger = BigInteger.valueOf(20).pow(22).mod(BigInteger.valueOf(7));
    int ha = (bigInteger.intValue()+6)%7;
    System.out.println(ha);
  }
}


方法二:直接使用Math.pow()

public static void main(String[] args) {
    System.out.println(Math.pow(20, 22)%7+6);
  }


试题 B: 山 【填空题】

29917728fbe94549b3a033aa1dd8eca1.png

答案:3138


解析:通过分析这道题,虽然给的是一个范围,但是考的还是判断一个数是否是回文数且前一半是不递减,我们实现判断回文和不递减方法后,通过一个for循环便可以求出结果。因为数据量比较大,所以比较耗时,大概快一分钟。


实现代码:

方法一:判断是否回文字符串使用双指针进行判断:

public class two {
  public static void main(String[] args) {
    int count = 0;
    for(int i =2022;i<=2022222022;i++) {
      if(check(i) && isHuiWen(i)) {
        count++;
      }
    }
    System.out.println(count);
  }
  private static boolean check(int num) {
    String s = num+"";
    for(int i =0;i<s.length()/2;i++) {
      if(s.charAt(i)>s.charAt(i+1)) return false;
    }
    return true;
  }
  private static boolean isHuiWen(int num) {
    String s = num+"";
    for(int i =0,r=s.length()-1;i<r;i++,r--) {
      if(s.charAt(i) != s.charAt(r)) return false;
    }
    return true;
  }
}


方法二:使用StringBuilder.reverse().toString.equals()来判断

这里补充一下三者用法区别:

8b023e53ef3d40049d5dc9082b0a678c.png

public class two {
  public static void main(String[] args) {
    int count = 0;
    for(int i =2022;i<=2022222022;i++) {
      if(check(i) && isHuiWen1(i)) {
        count++;
      }
    }
    System.out.println(count);
  }
  private static boolean check(int num) {
    String s = num+"";
    for(int i =0;i<s.length()/2;i++) {
      if(s.charAt(i)>s.charAt(i+1)) return false;
    }
    return true;
  }
  private static boolean isHuiWen1(int num) {
    String snum = num+"";
    StringBuilder stringBuilder = new StringBuilder(snum);
    return stringBuilder.reverse().toString().equals(snum);
  }
}


试题 C: 字符统计【代码题】

388c75a84c6e4db986fbc2ff4df9129a.png


分析:方法一:可以通过定义一个容量为26的数组来记录每个字符出现的次数,然后查找出次数最大的字符,通过遍历一遍for循环,来使按照字母表顺序输出。

补充知识点:

键盘输入的时候,next和nextline的区别,因为可能输入空的字符串,所以这里使用nextline来进行接收。

2a5809edec544124a9dd8be50e914377.png


代码实现:

public class three {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String str = scanner.nextLine();
    int[] arr = new int[26];
    String str1 = "";
    for(int i =0;i<str.length();i++) {
      arr[str.charAt(i)-'A']++;
    }
    int max = Integer.MIN_VALUE;
    for(int i =0;i<26;i++) {
      max = Math.max(max, arr[i]);
    }
    for(int i=0;i<26;i++) {
      if(arr[i] == max) {
        str1=str1+""+(char)(i+'A');
      }
    }
    System.out.println(str1);
  }
}


相关文章
|
17天前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
25 0
|
8天前
|
存储 分布式计算 DataWorks
MaxCompute产品使用合集之如何在代码中解析File类型的文件内容
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
36 11
|
23天前
|
存储 数据管理 数据库
CRUD操作实战:从理论到代码实现的全面解析
【7月更文挑战第4天】在软件开发领域,CRUD代表了数据管理的四个基本操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)。这四个操作构成了大多数应用程序数据交互的核心。本文将深入讲解CRUD概念,并通过一个简单的代码示例,展示如何在实际项目中实现这些操作。我们将使用Python语言结合SQLite数据库来演示,因为它们的轻量级特性和易用性非常适合教学目的。
39 2
|
23天前
|
文字识别 Java Python
文本,文识08图片保存()上,最方便在于整体生成代码,serivce及实体类,base64编码保存图片文件,调用flask实现内部ocr接口,通过paddleocr识别,解析结果,base64转图片
文本,文识08图片保存()上,最方便在于整体生成代码,serivce及实体类,base64编码保存图片文件,调用flask实现内部ocr接口,通过paddleocr识别,解析结果,base64转图片
|
1月前
|
机器学习/深度学习 数据采集 算法
特征工程与数据预处理全解析:基础技术和代码示例
在机器学习和数据科学的世界里,数据的质量是建模成功与否的关键所在。这就是特征工程和数据预处理发挥作用的地方。本文总结的这些关键步骤可以显著提高模型的性能,获得更准确的预测,我们将深入研究处理异常值、缺失值、编码、特征缩放和特征提取的各种技术。
29 0
|
1月前
结构体\判断日期是否合法(代码分步解析)
结构体\判断日期是否合法(代码分步解析)
14 1
|
17天前
|
存储 并行计算 安全
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
20 0
|
22天前
|
JavaScript 前端开发
js【深度解析】代码的执行顺序
js【深度解析】代码的执行顺序
25 0
|
29天前
|
C语言
C语言实现猜数字游戏:代码详解与函数解析
C语言实现猜数字游戏:代码详解与函数解析
14 0
|
1月前
|
存储 安全 Java
Java文件操作,让你的代码更“有型”!读写、复制、删除全解析!
【6月更文挑战第27天】在Java中进行文件操作是程序基础功能之一,涉及读写、复制和删除。使用`FileReader/FileWriter`进行文本文件的读写,如示例所示,通过`try-with-resources`保证资源释放。文件复制利用`FileInputStream/FileOutputStream`,而删除文件则依赖`File`的`delete()`方法,确保条件安全执行。这些标准库类提供了高效且健壮的文件管理能力。

推荐镜像

更多