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();
int b = scanner.nextInt();
System.out.println(a + b);
}
}
// a == 10;
// b == 20;
На экран будет выведено:
30
Я не совсем понимаю, почему переменным а и b будут присвоены значения 10 и 20? Эти данные берутся из типов данных String и никакого преобразования данных в этом коде нет. Так же, если бы мы ввели 10 переменных типа int, то откуда бы брались эти значение, если у нас строка содержит 4 числа?
Anonymous #3523828
6 уровень
Почему тип данных int может считывать данные из переменной String?
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Денис Enterprise Java Developer
3 декабря 2024, 20:35полезный
При чем тут типы данных, кто у тебя строку читает? Уж наверное не примитив int да? :)
А сканер как раз и разработан для всяких разных сценариев где надо читать данные... в частности и из строк тоже. Даже название намекает - он сканирует ввод :)
В твоей строке четыре числа, ты читаешь из них первые два в переменные, соответственно в одной у тебя 10 во второй 20. Считай ты куда ни будь следующий int сканером, там было бы 40.
+1
Anonymous #3523828
3 декабря 2024, 20:40
Теперь понятно, спасибо!
0
hidden #3303140
4 декабря 2024, 05:39
Извини, Денис, но не удержусь:
Через дефис: куда-нибудь
Раздельно: куда бы то ни было
Ты как будто путаешь эти два выражения 😉
0
Денис Enterprise Java Developer
4 декабря 2024, 09:20
Граммар нацци блин) Но спасибо. Даже не буду отпираться, письмо у меня давно просело.
0