Я написал простой код, в котором я использую StringTokenizer
для получения входных данных по одной строке за раз, а затем от parseInt
.Как повторно использовать объект StringTokenizer
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader r = new BufferedReader(in);
int T = Integer.parseInt(r.readLine());
int v;
int e;
int testCases;
for(testCases = 1; testCases <= T; testCases++)
{
StringTokenizer st = new StringTokenizer(r.readLine());
v = Integer.parseInt(st.nextToken());
e = Integer.parseInt(st.nextToken());
ArrayList<ArrayList<Integer>> graph = new ArrayList<ArrayList<Integer>>(v+1);
}
теперь я хочу, чтобы прочитать следующую строку, используя один и тот же объект st
, но когда я пытаюсь это
st(r.readLine());
он выдает ошибку
«Метод не определен для основного типа "
как читать следующую строку. Я думаю, что делаю что-то принципиально неправильно. или , пожалуйста, предложите альтернативный метод. Вот вход:
5 // T
5 6 // v & e
1 2 // error reading this
3 4
5 6
1 4
1 3
Просто из любопытства: что вы ожидаете от 'st.()'? – SJuan76
Из [документации для 'StringTokenizer'] (https://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html) _'StringTokenizer' - это унаследованный класс, который сохраняется для совместимости хотя его использование не рекомендуется в новом коде. Ответ на ваш вопрос: «Не используйте его в первую очередь». –
@ SJuan76 Моя ошибка. отредактировал его на st (r.readLine()); – Ankit