0 java
我是新来的,我的代码有问题.
我有一个5个字符的字符串,这就是我想出来的
public static boolean isNumber(String strng) {
return (strng.contains("[0-9]+"));
}
public static void main(String[] args) {
String strng;
Scanner strong = new Scanner(System.in);
while (isNumber(dato) == true && dato.length() != 5){
System.out.println("Isnt a correct id number");
strng = strong.nextLine();
}
Run Code Online (Sandbox Code Playgroud)
但是有了这个我可以引入一个点或一个分号,我试过[a-zA-Z]+并且boolean在假但是不工作我只搜索从0到9的数字.
有什么线索吗?
strng.contains("[0-9]+") 应该是 strng.matches("[0-9]+")
这将测试您strng有一个或多个数字.
如果您希望您的字符串恰好匹配五位数,那么您将必须使用该"[0-9]{5}"模式.
您可以使用正则表达式检查内容和长度:
strng.matches("[0-9]{5}")
Run Code Online (Sandbox Code Playgroud)
这将返回true正好5个字符的字符串,仅包含数字字符.
| 归档时间: |
|
| 查看次数: |
3811 次 |
| 最近记录: |