Na PeJocie, uczelni na której studiuję, na zajęciach z algorytmów dostaliśmy parę zadań do rozwiązania, osoby które zrobiły zadania na 100% i trafiły do TOP7 najszybszych algorytmów otrzymywały zwolnienie z egzaminu. Teraz jako osoba, która zajęła miejsce na tej top liście przedstawiam wam mój sposób na wczytywanie liczb całkowitych ze strumienia (np: systemowego standardowego wejścia) w Javie
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public static int getNextInt(InputStream in) throws IOException { in.mark(1); int number = 0, current = in.read(); boolean negative = false; if(current == 45) negative = true; else in.reset(); while((current = in.read()) > 47 && current < 58) number = number * 10 + (current - '0'); return negative ? number * -1 : number; } |