[英]how do i turn a array of integers into a vector?
我试图将输入整数的数组转换为向量,然后输出结果。 我已经搜索过谷歌,每个示例都使用“(Arrays.asList(randomArray)”。但是,当我尝试编译时,我得到一个“找不到符号-构造函数Vector(java.util.list)”的正确代码是什么将数组转换为向量?
这是我的代码:
Scanner inputNumber = new Scanner(System.in);
System.out.println("How big would you like the vector to be?");
int vecSize = inputNumber.nextInt();
int [] vecArray = new int[vecSize];
int [] primeArray = new int[vecSize];
System.out.println("Please enter " + vecSize + " postive numbers please: ");
for (int i = 0; i < vecSize; i++) {
int arrayInput = inputNumber.nextInt();
if (arrayInput > 0){
vecArray[i] = arrayInput;
}
}
Vector<Integer> arrayToVec = new Vector<Integer>(Arrays.asList(vecArray));
问题是,您的数组不是Integer[]
而是int[]
,而Java无法在这两种类型之间进行转换。
您可以将int
替换为Integer
也可以将值从int[]
复制到新的Integer[]
(带有另一个循环),然后将其输入向量中。
在您的代码中,最后一条语句尝试将所有int[]
对象复制到向量中,但是您希望它会自动收件箱并从数组中复制值。 但事实并非如此。
顺便说一句,错误消息给出了提示:
构造函数
Vector<Integer>(List<int[]>)
未定义
您希望改用构造函数Vector<Integer>(List<Integer>)
,Java决定从错误消息中查找一个。
问题是您有一个原始类型(int)的数组,该数组不能与Arrays.asList()
一起Arrays.asList()
工作。 Arrays.asList(vecArray)
实际上返回具有一个元素(您的数组)的List<int[]>
。
最简单的解决方法是自己手动填充向量:
Vector<Integer> arrayToVec = new Vector<Integer>();
for (int i : vecArray) {
arrayToVec.add(i);
}
您的vecArray
应该是Integer
类型,而不是原始int
类型。
Integer [] vecArray = new Integer[vecSize];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.