首页 > 其他分享 >给定一字符串,从中提取最大的数字。

给定一字符串,从中提取最大的数字。

时间:2024-06-23 18:42:21浏览次数:22  
标签:maxNumber 提取 charAt Double public 给定 字符串 rightMaxIndex 数字

给定一字符串,包含数字、小写字母、正负号、小数点,从中提取最大的数字。

/**
 * 给定一字符串,包含数字、小写字母、正负号、小数点,从中提取最大的数字
 * abc56dfg+78ddd-89aa89.3ggg
 */
public class Main {
    public static void main(String[] args) {
        System.out.println(findMaxNumber("abc56dfg+78ddd-89aa89.3ggg"));
    }

    public static Double findMaxNumber(String s) {
        Double maxNumber = Double.MIN_VALUE;
        for (int i = 0; i < s.length(); i++) {
            if (isNotNeed(s.charAt(i)) && s.charAt(i) != '-') {
                continue;
            }
            int rightMaxIndex = i + 1;
            while(rightMaxIndex < s.length()) {
                if (isNotNeed(s.charAt(rightMaxIndex)) && s.charAt(rightMaxIndex) != '.') {
                    break;
                }
                rightMaxIndex++;
            }
            String str = s.substring(i, rightMaxIndex);
            //优化:1、根据整数位、小数位自己去求数字大小 2、记录有效整数位和小数位,不用每次都转换,如果整数位都没有上一次的长,不用比较
            Double number = Double.valueOf(str);
            if (number > maxNumber) {
                maxNumber = number;
            }
        }
        return maxNumber;
    }

    public static boolean isNotNeed(Character character) {
        return character < '0' || character > '9';
    }
}

 

标签:maxNumber,提取,charAt,Double,public,给定,字符串,rightMaxIndex,数字
From: https://www.cnblogs.com/zhengbiyu/p/18263777

相关文章

  • C语言之字符串处理函数
    目录1字符串处理函数1.1输入输出1.1.1输出函数puts1.1.2输入函数gets1.2连接函数1.2.1stract1.2.2strncat1.3复制1.3.1复制strcpy1.3.2复制strncpy1.3.3复制memcpy1.3.4指定复制memmove1.3.5指定复制memset1.3.6新建复制strdup1.3.7字符串设定strset1.4比较1.4.1......
  • 2663. 字典序最小的美丽字符串
    题目如果一个字符串满足以下条件,则称其为美丽字符串:它由英语小写字母表的前k个字母组成。它不包含任何长度为2或更长的回文子字符串。给你一个长度为n的美丽字符串s和一个正整数k。请你找出并返回一个长度为n的美丽字符串,该字符串还满足:在字典序大于s的所......
  • jmeter提取请求报文中的字段并记录到本地文件
    jmeter-beanshell-procesor前面提到的提取前提条件:在响应报文中提取,现在条件为:在请求报文里假设我的请求报文是{"username":"admin","password":"123456"}代码如下importjava.util.regex.Pattern;importjava.util.regex.Matcher;importjava.io.BufferedWriter;......
  • 2024-06-22:用go语言,给定一个起始下标为 0 的长度为3的整数数组 nums,根据这些数字构建
    2024-06-22:用go语言,给定一个起始下标为0的长度为3的整数数组nums,根据这些数字构建三角形。如果无法构成三角形,则返回"none";否则根据三角形的边长关系返回对应类型的字符串:equilateral(等边三角形)、isosceles(等腰三角形)或scalene(不等边三角形)。输入:nums=[3,3,3]。输出:"e......
  • 【广度优先搜索 深度优先搜索 图论】854. 相似度为 K 的字符串
    本文涉及知识点广度优先搜索深度优先搜索图论图论知识汇总深度优先搜索汇总C++BFS算法LeetCode854.相似度为K的字符串对于某些非负整数k,如果交换s1中两个字母的位置恰好k次,能够使结果字符串等于s2,则认为字符串s1和s2的相似度为k。给你两个字母......
  • [字符串专题] KMP、Hash、Trie
    KMP核心思想:在每次失配时,不是把p串往后移一位,而是把p串往后移动至下一次可以和前面部分匹配的位置,这样就可以跳过大多数的失配步骤。而每次p串移动的步数就是通过查找next数组确定的。KMP主要分两步:求next数组、匹配字符串,其难点在于如何求next数组for(inti=1,......
  • Hutool将Cron表达式转换为日期字符串
    在Java开发中,处理定时任务是常见的需求。Cron表达式是一种强大的工具,用于定义这些定时任务的执行时间。然而,有时我们需要将Cron表达式转换为具体的日期字符串,以便于展示或进一步处理。本文将介绍如何使用Hutool工具库来实现这一转换。准备工作在开始之前,确保你的项目中包含了......
  • 字符串---最常用的11个魔法
    join--连接符split--以字符分割strip--去除空格或者指定字符upper--全部字符大写lower--全部字符小写find--查找字符串中某个字符的索引值len()--计算字符长度range(0,100)--列出0,1,2,3...99的数字for循环--最常用的循环索引--比如test='......
  • c语言 字符串操作函数
    字符串操作函数1.strlen()函数strlen()函数用于计算字符串的长度,返回字符串的字符数。语法:size_tstrlen(constchar*str)参数:str–要计算长度的字符串。返回值:字符串的字符数。示例:#include<stdio.h>#include<string.h>intmain(){charstr[50]="......
  • day10 - 字符串
    目录1.API1.1API概述1.2如何使用API帮助文档2.String类2.1String类概述2.2String类的特点2.3String类的构造方法2.4创建字符串对象两种方式的区别2.5字符串的比较2.5.1==号的作用2.5.2equals方法的作用2.6用户登录案例2.6.1案例需求2.6.2代码实现2.7遍......