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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 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);
  }
}


相关文章
|
19天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
57 10
|
19天前
|
前端开发 JavaScript 开发者
揭秘前端高手的秘密武器:深度解析递归组件与动态组件的奥妙,让你代码效率翻倍!
【10月更文挑战第23天】在Web开发中,组件化已成为主流。本文深入探讨了递归组件与动态组件的概念、应用及实现方式。递归组件通过在组件内部调用自身,适用于处理层级结构数据,如菜单和树形控件。动态组件则根据数据变化动态切换组件显示,适用于不同业务逻辑下的组件展示。通过示例,展示了这两种组件的实现方法及其在实际开发中的应用价值。
27 1
|
1月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
63 2
|
1月前
|
存储 搜索推荐 数据库
运用LangChain赋能企业规章制度制定:深入解析Retrieval-Augmented Generation(RAG)技术如何革新内部管理文件起草流程,实现高效合规与个性化定制的完美结合——实战指南与代码示例全面呈现
【10月更文挑战第3天】构建公司规章制度时,需融合业务实际与管理理论,制定合规且促发展的规则体系。尤其在数字化转型背景下,利用LangChain框架中的RAG技术,可提升规章制定效率与质量。通过Chroma向量数据库存储规章制度文本,并使用OpenAI Embeddings处理文本向量化,将现有文档转换后插入数据库。基于此,构建RAG生成器,根据输入问题检索信息并生成规章制度草案,加快更新速度并确保内容准确,灵活应对法律与业务变化,提高管理效率。此方法结合了先进的人工智能技术,展现了未来规章制度制定的新方向。
34 3
|
1月前
|
SQL 监控 关系型数据库
SQL错误代码1303解析与处理方法
在SQL编程和数据库管理中,遇到错误代码是常有的事,其中错误代码1303在不同数据库系统中可能代表不同的含义
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
66 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
52 0
|
1月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
59 0
|
1月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
80 0

推荐镜像

更多