import java.util.Arrays;
import java.util.*;
// public means anyone can use it.
// Java ALWAYS looks for a "main" method to run.
public class incrementing {
// Method
// anything within a parameter is called an argument. Any extra information the method needs for it in order to work.
void calc() {
// Creating our array of 10 slots.
int[] increments = new int [9];
// Creating a "counter" to work with the array,
int i = 0;
// while loop to add elements to our slots.
while (i < increments.length) {
increments[i] = i;
i++;
}
System.out.println(Arrays.toString(increments));
// for loop implementation.
int[] newlist = new int[9];
for (int e : increments) {
newlist.add(increments[0]);
newlist[e] = increments[e];
e++;
}
System.out.println(Arrays.toString(newlist));
//System.out.println(Arrays.toString(increments));
}
// Main performs the actual actions.
public static void main(String[] args) {
// Creating an object of the class.
// "test" allows me to use everything within the class of (calc).
incrementing test = new incrementing();
test.calc();
}
}
如何将所有元素值从“增量”添加到“新列表”?
我最初来自Python,所以我会弹出并附加这些值,但是老实说在Java中迷失了它。
答案 0 :(得分:0)
java数组中没有add方法,像下面这样修改for循环,您可以使用这样的索引从一个数组复制到另一个数组
for (int e=0 ; i< increments.length; e++) {
newlist[e] = increments[e];
}
for循环上的条评论,e
不是索引,而是元素。您不能在数组中使用add方法。
for (int e : increments) {
newlist.add(increments[0]);
newlist[e] = increments[e];
e++;
}
答案 1 :(得分:0)
如果可以使用Apache Commons(org.apache.commons.lang.ArrayUtils),则可以使用:
newlist = ArrayUtils.addAll(newlist, increments)
答案 2 :(得分:0)
很简单:
for (i = 0; i < increments.length; i++) { // where i is previously defined in the scope.
newList[i] = increments[i];
}
在这里您应该知道的是-> i
用作数组和等长数组的索引,您可以保证increments
中的每个索引在{{ 1}}。如果您尝试访问小于newList
且大于0
(N为数组大小)的索引,则将抛出IndexOutOfBoundsException。
如果您想使用Java精确复制数组,则可以使用:
N - 1
您可以在Java docs
上找到有关Arrays类的更多信息。答案 3 :(得分:0)
此for循环基本上是for-each循环。因此,每次迭代中的 e 值是 increment 列表中的后续数字。因此,如果您这样做:increments = {3,5,2};
而你这样做:
for(int i: increments){
System.out.print(i+" ");
}
您将在控制台上看到:3 5 2
这是它的外观:
//double check to not get IndexOutofbounds of any of array
for (int i = 0; (i < newlist.length) && (i < increments.length); i++) {
newlist[i] = increments[i];
}
您可以更快地做到这一点:
newlist = increments.clone();
顺便说一句。请注意,new int [9];
仅分配9个“插槽”。并且您所有的课程都应该以大写字母开头。
并查看 List 类。它们与python列表有点类似。