gpt4 book ai didi

java - 查看字符串是否包含所有数字的方法

转载 作者:行者123 更新时间:2023-12-01 09:15:37 25 4
gpt4 key购买 nike

我需要使用我编写的 isDigit 来完成 allDigits 方法,即当传递一个有效的字符串时,如果字符串的所有字符都是数字,则返回 true,否则为 false。

到目前为止我已经:

public static boolean isDigit (char ch){
if (ch >= '0' && ch <= '9')
return true;
return false;
}

public static boolean allDigits(String s){
for (int i =0; i<s.length(); i++)
if(isDigit(s.charAt(i)) == true)
return true;
return false;
}

但是如果只是说这会返回 true

public static void main(String[] args) {
String s = "abc123";
System.out.println(allDigits(s));
}

输出:正确

但是应该返回 false

另外:我的代码高效吗?我觉得有一个更简单的方法。感谢任何帮助,谢谢

最佳答案

您应该检查每个字符,如果它不是数字,则返回 false,否则返回 true:

public static boolean allDigits(String s) {
for (int i=0; i < s.length(); i++) {
if (!isDigit(s.charAt(i)))
return false;
}

return true;
}

但是有一种更简洁的方法来处理这个问题,我会做的是使用正则表达式:

public static boolean allDigits(String s) {
return s.replaceAll("\\d", "").equals("");
}

请注意,上述方法会将空字符串视为包含所有数字字符。如果您希望空字符串失败,可以很容易地添加此逻辑作为边缘情况。

关于java - 查看字符串是否包含所有数字的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com