[英]Java int array with dynamic number of elements
以下是有效的 Java 语法吗? 即我想使用一个可以有动态元素数量的 int 数组?
int[] seperatorPositionArr = new int[0];
switch (someVar) {
case "A":
seperatorPositionArr = new int[] { 5,10,15,20,25};
break;
case "B":
seperatorPositionArr = new int[] { 10,20};
break;
default:
break;
}
for (int i = 0; i < seperatorPositionArr.length; i++) {
x.insert(seperatorPositionArr[i] + i, '.');
}
因此,您想创建一个具有动态元素数量的数组,在您的情况下为 int 值。 您的解决方案的问题是,您必须从一开始就定义数组的大小,因为它是一个原始 int 数组。 要提供动态数组,我建议您使用列表。 列表可以存储各种数据类型,并且可以在程序的任何 state 中进行修改。 看看下面的例子。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List myDynList = new ArrayList<>();
int dynamicAmountOfNumbers = 3; // 0 ... * (hardcoded, you could get the option as method parameter or user input)
for (int i = 0; i < dynamicAmountOfNumbers; i ++) {
myDynList.add(i);
}
System.out.println("Amount of values: " + dynamicAmountOfNumbers + " \nValues in array: ");
for (Object values : myDynList) {
System.out.println(values.toString());
}
}
}
如果你不想使用列表,试试这个(丑陋,在我看来):
public class Main {
public static void main(String[] args) {
int dynamicAmountOfNumbers = 3; // 0 ... * (hardcoded, you could get the option as method parameter or user input)
int[] arr = new int[dynamicAmountOfNumbers];
for (int i = 0; i < dynamicAmountOfNumbers; i ++) {
arr[i] = i;
}
System.out.println("Amount of values: " + dynamicAmountOfNumbers + " \nValues in array: ");
for (int j = 0; j < arr.length; j++) {
System.out.println(arr[j]);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.