if (diceValues == null || diceValues.length() == 0) return 0;
int temp;
int val = 0;
Scanner scanner = new Scanner(diceValues);
while (scanner.hasNext()) {
temp = scanner.useDelimiter(" ").nextInt();
if (temp == 1) val += 100;
if (temp == 5) val += 50;
}
diceValue - это строка типа «1 2 3 4 5», и сканер всегда пропускает последнее число. Таким образом, int val (значение) всегда меньше, чем должно быть.сканер не может прочитать последнюю строку из строки
Вы отлажены эту программу правильно, потому что я могу видеть, что все значения считывается из сканера правильно – Bunti
Откуда вы знаете, что он пропускает последний номер? Я просто попробовал его с помощью 'System.out.println (temp)', и он отобразил все 5 чисел. – ajb