Создание объектов с элементами массива
Есть ли возможность пройтись по массиву циклом и при создании объекта занести значения элементов массива в конструктор. Например, у нас есть строка:
String result = "1 2 3 4 5 6";
// делаем массив строк
String list[] = result1.split("");
// затем я хочу сделать следующее:
BigInteger a1 = new BigInteger (l1); // String l1 = "1"; String l2 = "2";
BigInteger a2 = new BigInteger (l2);
BigInteger result = a1.add(a2);
// etc
В итоге должно быть 21.
Спасибо!
Ответы (2 шт):
Автор решения: Alexey R.
→ Ссылка
Можно сделать так:
String numString = "1 2 3 4 5 6";
List<BigInteger> bigIntegers = new ArrayList<>();
for(String number: numString.split(" ")){
bigIntegers.add(new BigInteger(number));
}
System.out.println(bigIntegers.stream().reduce(BigInteger::add).get());
Просто так любое желаемое количество объектов с сохранением ссылки на них не создать. Нужно пользоваться либо массивами, либо коллекциями.
Соотв-но, добавляя элементы в список Вы не теряете ссылки на них, и затем можете пройтись по списку и просуммировать содержимое. В моем примере используются стримы, но суммирование можно осуществить так же через цикл.
Автор решения: Podushkoved
→ Ссылка
Можно просто просуммировать:
String result = "1 2 3 4 5 6";
int sum = Arrays.stream(result.split(" ")).mapToInt(Integer::parseInt).sum();
System.out.println(sum); // 21