本文主要是介绍【算法每日一练及解题思路】判断字符串是否包含数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【每日一练及解题思路】四种方式判断字符串是否含数字
一、题目:给定一个字符串,找出其中不含重复字符的最长子串的长度
二、举例:
- 比如"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;}
}
六、结果
这篇关于【算法每日一练及解题思路】判断字符串是否包含数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!