Java程序设计——在一个给定的字符串中查找并解析姓名、出生日期、个人网站、身高和体重信息,并输出相应的结果

package ch4;public class FindMess
{public static void main(String[] args) {String mess = "姓名:张三 出生时间:1989.10.16。个人网站:http://www.zhang.com。身高:185 cm,体重:72 kg";int index = (int)(mess.indexOf(":"));   //mess调用indexOf(String s)方法返回字符串中首次出现冒号的位置String name = mess.substring(index+1);if(name.startsWith("张")) {System.out.println("简历中的姓名姓\"张\"");}index = mess.indexOf(":",index+2);//mess调用indexOf(String s,int start)方法返回字符串中第2次出现冒号的位置String date = mess.substring(index+1,index+11);System.out.println(date);index = mess.indexOf(":",index+1);int heightPosition =mess.indexOf("身高",index+1);   // mess调用indexOf(String s)方法返回字符串中首次出现"身高"的位置String personNet = mess.substring(index+1,heightPosition-1);System.out.println(personNet);index = mess.indexOf("身高:",index+1);  //mess调用indexOf(String s,int start)方法返回字符串中"身高"后面的冒号位置int cmPosition = mess.indexOf("cm");String height = mess.substring(index+1,cmPosition);height = height.trim();int h = Integer.parseInt(height);if(h>=180) {System.out.println("简历中的身高"+height+"大于或等于180 cm");}  else {System.out.println("简历中的身高"+height+"小于180 cm");}index = mess.indexOf(":",index+3);//mess调用lastIndexOf(String s)返回字符串中最后一个冒号位置int kgPosition = mess.indexOf("kg");String weight = mess.substring(index+1,kgPosition);weight = weight.trim();int w = Integer.parseInt(weight);if(w>=75) {System.out.println("简历中的体重"+weight+"大于或等于75 kg");}  else {System.out.println("简历中的体重"+weight+"小于75 kg");}}// TODO Auto-generated method stub
}

当我们分析这段代码时,可以按照代码的逻辑结构进行分段:

  1. 获取姓名:

    int index = (int)(mess.indexOf(":"));
    String name = mess.substring(index+1);
    if(name.startsWith("张")) {System.out.println("简历中的姓名姓\"张\"");
    }
    

    在这个部分,首先使用 indexOf 方法查找冒号的位置。然后,使用 substring 方法将冒号后面的字符串截取出来,得到姓名。接下来,使用 startsWith 方法判断姓名是否以 “张” 开头,如果是则输出相应的提示信息。

  2. 获取出生日期:

    index = mess.indexOf(":",index+2);
    String date = mess.substring(index+1,index+11);
    System.out.println(date);
    

    这部分使用 indexOf 方法找到第二个冒号的位置,然后使用 substring 方法截取冒号后面的11个字符,得到出生日期。最后打印出生日期。

  3. 获取个人网站:

    index = mess.indexOf(":",index+1);
    int heightPosition =mess.indexOf("身高",index+1);
    String personNet = mess.substring(index+1,heightPosition-1);
    System.out.println(personNet);
    

    代码中使用 indexOf 方法找到第三个冒号的位置,然后使用 indexOf 方法找到 “身高” 的位置。接着使用 substring 方法截取冒号和 “身高” 之间的字符串,得到个人网站。最后打印个人网站。

  4. 获取身高:

    index = mess.indexOf("身高:",index+1);
    int cmPosition = mess.indexOf("cm");
    String height = mess.substring(index+1,cmPosition);
    height = height.trim();
    int h = Integer.parseInt(height);
    if(h>=180) {System.out.println("简历中的身高"+height+"大于或等于180 cm");
    }  
    else {System.out.println("简历中的身高"+height+"小于180 cm");
    }
    

    这部分首先使用 indexOf 方法找到最后一个冒号的位置,然后使用 indexOf 方法找到 “cm” 的位置。接着使用 substring 方法截取冒号和 “cm” 之间的字符串,得到身高。使用 trim 方法去除身高字符串中的空格,并将其转换为整数。最后根据身高的值进行判断,输出相应的提示信息。

  5. 获取体重:

    index = mess.indexOf(":",index+3);
    int kgPosition = mess.indexOf("kg");
    String weight = mess.substring(index+1,kgPosition);
    weight = weight.trim();
    int w = Integer.parseInt(weight);
    if(w>=75) {System.out.println("简历中的体重"+weight+"大于或等于75 kg");
    }  
    else {System.out.println("简历中的体重"+weight+"小于75 kg");
    }
    

    在这一部分,首先使用 indexOf 方法找到倒数第二个冒号的位置,然后使用 indexOf 方法找到 “kg” 的位置。接着使用 substring 方法截取冒号和 “kg” 之间的字符串,得到体重。使用 trim 方法去除体重字符串中的空格,并将其转换为整数。最后根据体重的值进行判断,输出相应的提示信息。

这样,我们就对这段代码进行了逐段的具体分析。这段代码的主要功能是解析字符串中的个人信息并输出相应的结果。需要注意的是,代码中可能存在一些格式约定的假设,并且没有处理异常情况。

 

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

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

相关文章

git Update failed cannot lock ref

报错详情 解决方案 百度了很多方案,过滤出了有效方案 去该项目下的.git文件里找到报错文件,本例中即为:.git/refs/tags/pre-RELEASE-PRE-20230817-03 删除该文件,重新pull,pull成功问题解决

Java并发工具类

JDK并发包中常用并发工具类: CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段; Exchanger工具类则提供了在线程间交换数据的一种手段。 等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成…

Electron学习3 使用serialport操作串口

Electron学习3 使用serialport操作串口 一、准备工作二、 SerialPort 介绍1. 核心软件包(1) serialport(2) serialport/stream(3) serialport/bindings-cpp(4) serialport/binding-mock(5) serialport/bindings-interface 2. 解析器包3. 命令行工具 三、创建一个demo程序1. 创建…

Dapper

介绍 dapper是一款轻量级的ORM Dapper 被称为 ORM 之王。 以下是 Dapper 的主要功能: 速度快,性能快。 更少的代码行。 对象映射器。 静态对象绑定。 动态对象绑定。 轻松处理 SQL 查询。 易于处理存储过程。 直接对 IDBConnection 类进行操作&#xf…

重注微电子产业,“三大齿轮”能否带起香港经济的“第三轮”

文 | 智能相对论 作者 | 佘凯文 众所周知,微电子产业早已成为现代科技领域的关键钥匙,谁能掌握微电子产业,谁就能拥有全球科技领域的话语权。 从上世纪开始,微电子产业曾经历过几次重大转移,如70年代从美国转向日本…

零拷贝技术详解

当涉及到网络编程和IO操作时,数据拷贝是一个常见的性能瓶颈。传统的数据拷贝过程中,数据需要从内核缓冲区复制到用户空间缓冲区,然后再从用户空间缓冲区复制到内核缓冲区,这个过程会耗费大量的CPU时间和内存带宽,降低系…

tensorRT安装

官方指导文档:Installation Guide :: NVIDIA Deep Learning TensorRT Documentation 适配很重要!!!! 需要cuda, cuDNN, tensorRT三者匹配。我的cuda11.3 所以对应的cuDNN和tensorRT下载的是如下版本: cud…

【业务功能篇77】微服务-OSS对象存储-上传下载图片

3. 图片管理 文件存储的几种方式 单体架构可以直接把图片存储在服务器中 但是在分布式环境下面直接存储在WEB服务器中的方式就不可取了,这时我们需要搭建独立的文件存储服务器。 3.1 开通阿里云服务 针对本系统中的相关的文件,图片,文本等…

07-Numpy基础-伪随机数生成

numpy.random模块对Python内置的random进行了补充,增加了一些用于高效生成多种概率分布的样本值的函数。 例如,你可以用normal来得到一个标准正态分布的44样本数组: 而Python内置的random模块则只能一次生成一个样本值。从下面的测试结果中可…

Mybatis查询一条数据

上一篇我们介绍了在pom文件中引入mybatis依赖,配置了mybatis配置文件,通过读取配置文件创建了会话工厂,使用会话工厂创建会话获取连接对象读取到了数据库的基本信息。 如果您需要对上面的内容进行了解,可以参考Mybatis引入与使用…

Python爬虫(十五)_案例:使用bs4的爬虫

本章将从Python案例讲起:所使用bs4做一个简单的爬虫案例,更多内容请参考:Python学习指南 案例:使用BeautifulSoup的爬虫 我们已腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start10#a 使用BeautifulSoup4解析…

[MyBatis系列④]核心配置文件

目录 1、简介 2、DTD 3、typeHandlers 3.1、默认类型处理器 3.2、自定义类型处理器 4、plugins ⭐MyBatis系列①:增删改查 ⭐MyBatis系列②:两种Dao开发方式 ⭐MyBatis系列③:动态SQL 1、简介 MyBatis的核心配置文件(通常命…

基于IDEA使用maven创建hibernate项目

1、创建maven项目 2、导入hibernate需要的jar包 <!--hibernate核心依赖--><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>5.4.1.Final</version></dependency><!--…

基于亚马逊云科技服务,构建大语言模型问答知识库

随着大语言模型效果明显提升&#xff0c;其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型&#xff08;LLM&#xff09;知识召回&#xff08;Knowledge Retrieval&#xff09;的方式&#xff0c;在私域知识问答方面可以很好的弥补通…

ARM64函数调用流程分析

ARM64函数调用流程分析 1 ARM64 函数调用实例2 对应代码的分析2.1 main函数及其对应的汇编程序2.1.1 main的C代码实现2.1.2 main函数对应汇编及其分析2.1.3 执行完成之后栈的存放情况 2.2 test_fun_a函数及其对应的汇编程序2.2.1 test_fun_a函数的C实现2.2.2 test_fun_a函数对应…

Oracle的学习心得和知识总结(二十八)|Oracle数据库数据库回放功能之论文二翻译及学习

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《Oracle Database SQL Language Reference》 2、参考书籍&#xff1a;《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…

MAC电脑外放没有声音解决方案

烦人呐&#xff0c;我的mac外接显示屏幕&#xff0c;显示器没有音频输出&#xff0c;需要mac笔记本的音频输出&#xff0c;但是经常打开后&#xff0c;mac没有声音输出&#xff0c;需要重启电脑才能生效。亲测一下方法有效&#xff0c;请参考&#xff1a; 文章目录 一、短期方案…

基于mha+mycat2+gtid的半同步主从复制双vip高可用MySQL集群

目录 项目名称 项目架构图 项目概述 项目准备 项目步骤 一、使用ansible编写palybook实现4台二进制安装MySQL环境的部署&#xff0c;并把master上的基础数据下发到所有slave服务器上 1. 建立免密通道 2.安装ansible在ansible服务器上&#xff0c;并写好主机清单 3.将…

汽车电子笔记之:AUTOSA架构下的OS概述

目录 1、实时操作系统&#xff08;RTOS&#xff09; 2、OSEK操作系统 2.1、OSEK概述 2.2、OSEK处理等级 2.3、OSEK任务符合类 2.4、OSEK优先级天花板模式 3、AUTOSAR OS 3.1、 AUTOSAR OS对OSEK OS的继承和扩展 3.2、AUTOSAR OS的调度表 3.3、AUTOSAR OS的时间保护 3…

冷冻冷藏自动化立体库|HEGERLS四向穿梭车助力打造冷链智能仓储新力量

随着中国仓储物流整体规模和低温产品消费需求的稳步增长&#xff0c;冷链市场应用潜力不断释放。而在实际运行中&#xff0c;由于冷库容量不足、基础设施落后、管理机制欠缺等原因&#xff0c;经常出现“断链”现象&#xff0c;严重威胁到产品质量和消费者安全。 河北沃克金属…