Софтуерно Инженерство
Loading...
MartinBG avatar MartinBG 1260 Точки
Best Answer

Вторият параметър може да е невалидно число.

При теб е:

Double.parseDouble(inputCar[2]));

"Облечи" го в try-catch (Exception e) блок и пропускай всички команди, които имат невалиден такъв параметър.

 

При мен е така:


            while (commands-- > 0) {
                tokens = reader.readLine().trim().split("\\s+");
                String command = tokens[0].toLowerCase();
                String target = tokens[1].toLowerCase();
                double value;

                try {
                    value = Double.parseDouble(tokens[2]);
                } catch (Exception e) {
                    continue;
                }
...

 

0
lapd87 avatar lapd87 101 Точки

Мерси, само отбелязвам за бъдещите четящи колеги, че try-catch не е там където казваш (там чета началните данни на колата), а където чета действията (drive, refuel).

Жалко че реално тези задачи няма как да се качват за постоянно защото са zip и в един момент линка ми няма да е акутален, но пък поне обясненията тук може да помогнат на наследниците :)

П.С. абе и гитхъб има ще ги намерят :D

 

String action = currentCommand[0].toLowerCase();
String vehicleType = currentCommand[1];
Double actionArgs;

try {
    actionArgs = Double.parseDouble(currentCommand[2]);
} catch (Exception e) {
    continue;
}
0