Подскажите, пожалуйста. В лекции написано: import java.util.Scanner; public class Solution { public static void main(String[] args) { String str = "10 20 40 60"; Scanner scanner = new Scanner(str); int a = scanner.nextInt(); // a == 10; int b = scanner.nextInt(); // b == 20; System.out.println(a + b); // 30 } } Но где разъясняется, ПОЧЕМУ сканер считывает в int a - только 10, в int b и - только 20? И почему при присваивании одного и того же значения, в результате получаются разные числа? В комментариях написали: В этом примере Scanner считывает строку - String str = "10 20 40 60" ; int a = scanner.nextInt(); - сканнер читает 10 и преобразует в int,результат сохраняет в переменную,здесь используется пробел в качестве разделителя между этими числами int a = scanner.nextInt(); - читает 20 и преобразует в int int b = scanner.nextInt(); - читает 40 и преобразует в int int c = scanner.nextInt(); - читает 60 и преобразует в int int d = scanner.nextInt(); - здесь будет ошибка,тк дальше уже нечего считывать Но все равно не понятно, почему int a, b,с и тд. считывают только значения до пробелов, а каждое новое "считывание" в случае с int b и с, начинается соответственно с 40 и 60.