我正在处理文件编辑器项目,需要确定用户何时输入数字。
我遇到的问题是如何确定用户何时输入两个数字。到目前为止我有这个
input = keyboard.nextLine();
String digit = input.replaceAll("[^0-9]", "");
if(!(digit.equals(""))){
n = Integer.parseInt(digit);
//and so on
}
因此,如果我输入 D 2 5 ,则数字为25,我需要一种方法将其作为单独的数字读取2和5。
答案 0 :(得分:1)
Pattern p = Pattern.compile("[0-9]+");
String myString = " d 5 6";
Matcher m = p.matcher(myString);
List abc = new ArrayList();
while (m.find())
{
int n = Integer.parseInt(m.group());
abc.add(n);
}
System.out.println(abc);
答案 1 :(得分:1)
将字符串拆分一个或多个空格
String[] digit = s.split(" +");
答案 2 :(得分:0)
尝试使用String#split
String s = "D 2 5";
String array[] = s.split(" ");
这会按空格拆分String
,。现在,您可以使用array[index]
访问其中的部分内容。
答案 3 :(得分:0)
String str = " D 2 5";
String array[] = str.replace(" ", "").split("");
List<Integer> numbers=new ArrayList<Integer>();
for (String item : array) {
try {
numbers.add(Integer.parseInt(item));
} catch (Exception e) {
continue;
}
}
System.out.println(numbers);
答案 4 :(得分:0)
如何确定用户输入两个号码的时间。
您可以接受用户输入,然后通过检查&#34;参数的数量来验证字符串&#34;
String input = "D 3 9";
String[] arrayParam = input.split(" ");
if(arrayParam.lenght==2){
System.out.println("1 number only");
}elseif(arrayParam.lenght==3){
System.out.println("2 numbers");
}else{
System.out.println("invalid input");
}