【发布时间】:2015-01-04 23:51:16
【问题描述】:
所以我无法终生解决这个问题。我正在尝试编写一个提示用户输入电话号码的程序。这将作为字符串输入,并稍后在程序中转换为整数数组。但是,我现在遇到的情况是仅验证用户输入的字符串!!!包含 2-9 的数字。我已经尝试过 .contains 方法和 .match 方法,但是使用它们总是会给我带来错误的结果。如果有人可以请阐明如何解决这个问题,我将不胜感激。提前致谢。
这是我目前所拥有的:
Scanner user_input = new Scanner(System.in);
String number = user_input.nextLine();
if(number.contains("[2-9]+")) {
for(int count = 0; count < number.length(); count++) {
digits[count] = number.charAt(count)-'0';
}
System.out.println(Arrays.toString(digits));
//printWord(digits, out, length, 0);
} else {
System.out.println("Invalid phone number!");
System.exit(0);
}
【问题讨论】:
-
改用正则表达式。
-
@cychoi 他正在尝试。他不知道的是
contains不接受正则表达式 -
如果
number.matches("[2-9]+")不适合您,请提供一个失败的示例。 -
是的,哈哈,我很愚蠢,现在开始工作了。很抱歉,当我应该使用 match 方法时,我使用了 contains 方法。谢谢大家的反馈。
标签: java string input contains digits