NumberFormatException: For input string: ""

0

Przyszedł kolejny problem :)

import java.util.*;
class Main {
    public static void main(String[] args) {
    	Scanner x = new Scanner(System.in);
        String linia;
        int v1, v2, t;
        t = x.nextInt();
       for(int i=0; i<t; i++){
                	linia = x.nextLine();
                    String[] tab = linia.split(" "); 
                v1 = Integer.parseInt(tab[0]); //tutaj wywala wyjątek
                v2 = Integer.parseInt(tab[1]);
                System.out.println(2*(v1*v2)/(v1+v2));
        }
    }

}

Treść wyjątku:

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Main.main(Main.java:11)

Wpisuję wartość dla zmiennej t, po czym nie mogę wpisać dla Stringa, bo wyjątek się pokazał.
Co jest źle? Try-catch nie pomaga, a nie mam żadnego pomysłu what's wrong.

2

A możesz łaskawie pokazać nam CO PODAJESZ NA WEJŚCIE? Bo błąd ewidentnie wskazuje na to że tab[0] nie jest liczbą tylko pustym stringiem...
Czemu? Zapewne dlatego że wejście wygląda tak:

1
1 2

Czyli po wczytaniu 1 za pomocą Scanner.nextInt() nadal zalega nam w buforze znak nowej linii i Scanner.nextLine() wczyta nam pustą linię.

0 użytkowników online, w tym zalogowanych: 0, gości: 0