Строка переменной result
имеет следующую строку:Длина сканера не соответствует! Java
All Prime Numbers Up To {10}:
1 2 3 4 5 6 7 8 9
Когда я использую этот код для сканирования каждый числовой маркер и возвращает его длину:
Scanner scan = new Scanner(result);
while (scan.hasNext()) {
String num = scan.next();
if (num.matches(".*\\d.*")) {
System.out.print("number: ");
System.out.println(num);
System.out.print("The length: ");
System.out.println(num.length());
System.out.println("----");
}
}
Результат показывает следующее:
Please Enter a Number: 9
number: {9}:
The length: 4
----
number: 1
The length: 1
----
number: 2
The length: 10
----
number: 3
The length: 10
----
number: 4
The length: 1
----
number: 5
The length: 10
----
number: 6
The length: 1
----
number: 7
The length: 10
----
number: 8
The length: 1
----
number: 9
The length: 1
----
Почему он не печатает правильную длину каждого знака чисел? Несмотря на то, что он правильно печатает его!
Кажется, что-то не так с вашим регулярным выражением? или почему вам нужно использовать регулярное выражение? –
потому что у меня есть строка, и я хочу вернуть только числовые значения @KickButtowski – fox
Что такое правильное регулярное выражение, которое возвращает true, если следующий токен - это все числа? Так что если токен '{w10', он возвращает false @KickButtowski – fox