Вам нужно использовать строку, которую вы прочитали (внутри условия while).
Когда вы вызываете nextLine (), вы не только проверяете, равно ли оно "$", но и отбрасываете его.
Я полагаю, вы читаете ввод, который выглядит следующим образом: (Держу пари, вы)
1 2
3 4
0 1
4 5
$
попробуйте следующее:
String nextLineStr;
while( !((nextLinestr = scan.nextLine()).equals("$")))
{
String tokens [] = nextLineStr.split(" ");
temp1 = Integer.parseInt(tokens[0]);
temp2 = Integer.parseInt(tokens[1]);
addEdge(temp1,temp2);
}
В качестве примечания: обратите внимание, что я отключил ваш '! =' Для метода, не равного, это потому, что строка не должна сравниваться с использованием == или! =