Я читаю строку, как целую строку чисел, разделенную пробелов, то есть 1 2 3 4 5
. Я хочу преобразовать их в массив целых чисел, чтобы я мог ими манипулировать. Но этот код не работает. В нем говорится о несовместимых типах.Преобразование строки в массив ints ex String st = "1 2 3 4 5" в ar = [1,2,3,4,5]
String str = br.readLine();
int[] array = new int[4];
StringTokenizer tok = new StringTokenizer(str," ", true);
boolean expectDelim = false;
int i = 0;
while (tok.hasMoreTokens()) {
String token = tok.nextToken();
ar[i] = Integer.parseInt(token);
i++;
}
«несовместимые тип» - на какую линию ? Как бы то ни было, это не скомпилируется: вы смешиваете 'ar' и' array'. Пожалуйста, дайте нам полный образец! И в любом случае ваш массив слишком короткий для 12345: почему бы не использовать ArrayList? – Rup
, на которой вы получаете ошибку компиляции – Panther
Кроме того, [JDK] (https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html) говорит: «StringTokenizer - это унаследованный класс который сохраняется по соображениям совместимости, хотя его использование не рекомендуется в новом коде. Рекомендуется, чтобы каждый, кто ищет эту функциональность, использовал метод split для String или пакет java.util.regex. " – Rup