问题:我能否使用Java流API(即一行)实现方法private void fillingArrayList()
。需要变量i
来定义字符串的长度;我尝试为每个循环,但它不工作。我需要一个循环的范围。
import org.apache.commons.lang3.StringUtils;
public class Tolls {
public static String digitsConcatenation(short number, long times) {
return StringUtils.repeat(Character.forDigit(number, 10), Long.valueOf(times).intValue());
}
}
public class Progression {
public Progression(Digit digit) {
this.digit = digit;
this.numbers = new ArrayList<>(Long.valueOf(digit.getTimes()).intValue());
this.fillingArrayList();
}
public Optional<Long> getProgressionSum() {
return this.numbers.stream().reduce(Long::sum);
}
public List<Long> getNumbers() {
return Collections.unmodifiableList(this.numbers);
}
private void fillingArrayList() {
for (int i = 1; i <= digit.getTimes(); i++)
this.numbers.add(Long.valueOf(Tolls.digitsConcatenation(digit.getNumber(), i)));
}
private final List<Long> numbers;
private final Digit digit;
}
我的尝试:
private void fillingArrayList() {
Arrays.stream(this.numbers.toArray())
.forEach(i-> this.numbers.add(
Long.valueOf(Tolls.digitsConcatenation(
digit.getNumber(), (Long) i))));
}
以下应起作用:
IntStream.rangeClosed(1, digit.getTimes()).forEach(i -> this.numbers.add(Long.valueOf(Tolls.digitsConcatenation(digit.getNumber(), i))););
我遇到了一个相当奇怪的问题,当我试图编码我的机器人的一个特定的部分!为了使其简单简短,我有一个包含各种属性的对象数组(参见代码中的示例)。我想要做的是获取数组中的所有特定属性(例如name)并将其打印到控制台中。我尝试使用一个简单的for循环进行循环,每一个成功的循环,我都要求控制台记录ArrayName[I].name!请参阅代码以获得澄清! 问题是它确实按预期记录了代码--例如,在本例中是Re
我创建了一个2D数组,需要将元素或映射到要打印的彩色像素。这就是我所拥有的。 像素数组,表示不同颜色的整数值 我测试了,它工作得很好。在中的每个for循环旁边都会弹出唯一的错误,其中声明: 此外,int刻度用于定位像素应该在的位置,并赋予其正确的大小
我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码:
主要内容:for、do-while 和 while 的区别for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。 for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。 for 语句通常使用在知道循环次数的循环中。 for 语句语法格式如下所示。 for 循环中 3 个条件表达式的含义如表 1 所示。 表 1
问题内容: 在Python中,尝试对具有循环的列表执行最基本的追加功能:不知道我在这里缺少什么: 返回: 问题答案: 该函数不返回任何值(而是),它只是将值添加到用于调用该方法的列表中。 在第一个循环中,您将分配(由于不返回)给,然后在第二个循环中,它将尝试调用,因为它将引发您看到的Exception 您只需要将其更改为: 这就是所谓的 变异或破坏性 方法,即它将破坏或变异先前的对象成为一个新的(
这个方法的问题是它总是返回零。看起来没有使用它的参数。然而,如果我按照下面的方式来写,那么一切都运行得很好。有没有人知道为什么第一种方法不起作用?