ОК, поэтому цель моей программы (очень простая в этой точке) - взять строку слов, например: («Я даю вам 34, а вы дадите мне 50»,), и я хочу, чтобы заполнить мой массив с каждым вхождением числа в строке. все это возвращает мне последнее число, которое я даю коду ive, проверил весь массив, и все, что я могу вернуть, - это последнее число.Не могу получить мою программу, чтобы взять более одного целого
public static void main(String[] args) throws IOException {
BufferedReader read= new BufferedReader(new InputStreamReader(System.in));
String phrase;
int count = 0;
int[] numbers = new int[5];
phrase = read.readLine();
for (int i = 0; i < phrase.length()-1; i++){
if (phrase.substring(i).matches("((-|\\+)?[0-9]+(\\.[0-9]+)?)+")){
numbers[count] = Integer.parseInt(phrase.substring(i));
count++;
System.out.println(numbers[0]);
}
}
}
Не стоит ваше регулярное выражение просто "[0-9] +" –
Почему вы ловите плавающие числа и используете 'parseInt'? –
Не может быть связано. 'System.out.println (числа [count]);' перед count ++? –