当前位置: 首页 > article >正文

【算法每日一练及解题思路】判断字符串是否包含数字

【算法每日一练及解题思路】判断字符串是否含数字

一、题目:给定一个字符串,找出其中不含重复字符的最长子串的长度

二、举例:

  • 比如"abcdefgh",不含数字;
  • 比如"1",含数字;
  • 比如"a1s",含数字

三、思路:

解题思路1:遍历字符串的每个字符,判断每个字符是否是数字。
遍历方式1:将字符串转为字符数组
遍历方式2:for循环按索引下标遍历字符串的每个字符
判断方式1:判断字符对应的整数是否在0到9之间
判断方式2:使用Character.isDigit(char c)方法
解题思路2:使用正则表达式对整个字符串进行模式匹配

四、总结:

可以从每个字符入手去判断,也可使用正则的方式从整个字符串入手判断。

五、代码

import java.util.Scanner;

/* @author Dylaniou
 * @date 20240831
 * @desc 本地测试类
=============================
 */
public class TestLocal {
	public static void main(String[] args) {
		 Scanner scanner = new Scanner(System.in);
		 String str = "" ;
		 while(!str.equals("end")){
			 str = scanner.nextLine();
			 System.out.println(containsNumber1(str)+":"+containsNumber2(str)+":"+containsNumber3(str)+":"+containsNumber4(str));
		 }
	}
	
	public static boolean containsNumber1(String str){
		for(int i = 0; i < str.length(); i++){
			 if(str.charAt(i) > '0' && str.charAt(i) < '9'){
				 return true;
			 }
		 }
		return false;
	}
	
	public static boolean containsNumber2(String str){
		for(char c:str.toCharArray()){
			 if(c > '0' && c < '9'){
				 return true;
			 }
		 }
		return false;
	}
	
	public static boolean containsNumber3(String str){
		return str.matches(".*[0-9].*");
	}
	
	public static boolean containsNumber4(String str){
		for(int i = 0; i < str.length(); i++){
			 if(Character.isDigit(str.charAt(i))){
				 return true;
			 }
		 }
		return false;
	}
}

六、结果

在这里插入图片描述


http://www.kler.cn/news/290265.html

相关文章:

  • K8S CronJob
  • 跨域问题及解决方案
  • 鸿萌数据恢复服务:VMWare 虚拟机无法访问,该怎样解决?
  • C++中(Qt)类与命名空间
  • 数据结构07
  • idea2021安装教程与常见配置(可激活至2099年)
  • el-select在火狐浏览器中 点击搜索框聚焦时会有一个蓝色的框
  • 新电脑Win11系统想要降级为Win10怎么操作?
  • torchvision库学习之transforms.Compose(模块)
  • 【Java基础】代理
  • Your Diffusion Model is Secretly a Zero-Shot Classifier论文阅读笔记
  • 农事管理系统
  • 守护夏日清凉:EasyCVR+AI视频智能管理方案为水上乐园安全保驾护航
  • 爬虫 可视化 管理:scrapyd、Gerapy、Scrapydweb、spider-admin-pro、crawllab、feaplat、XXL-JOB
  • Linux云计算学习笔记10 (打包压缩与解包)
  • CSS 中的element()函数
  • AVL树调整平衡及旋转详解
  • MATLAB-绘图系列(第一期)
  • 线程间数据传递之ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal
  • 性能、成本与 POSIX 兼容性比较: JuiceFS vs EFS vs FSx for Lustre
  • ElasticSearch和Kibana的安全设置以及https设置
  • Vue 3 的性能提升具体体现在哪些方面?
  • 达梦数据库事务管理
  • 深入解析浏览器与Web服务器的通信机制:从URL输入到页面渲染的全过程
  • glsl着色器学习(七)
  • 多线程篇(基本认识 - 锁优化)(持续更新迭代)
  • HCIP笔记12-交换(1)
  • Mysql高级篇(上)—— Mysql架构介绍(二)
  • SprinBoot+Vue图书馆预约与占座微信小程序的设计与实现
  • C++string类相关OJ练习(2)