我正在编写一个示例代码,以接受用户提供的多个整数输入,并将其存储在向量列表中,然后将向量的项目复制到int array但是它在 array [a] = list.elementat(a);
中显示语法错误 import java.util.Vector;
import java.io.*;
public class HelloWorld{
public static void main(String []args)throws IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
Vector list =new Vector();
while(true)
{
String s=in.readLine();
if(s.equals(""))
break;
int i=Integer.parseInt(s);
Integer item=i;//autoboxing initialization of Integer object
list.addElement(item); //adding to the list till user gives input
}
int array[]=new int[(int)list.size()];
for(int a=0;a<array.length;a++)
array[a]=list.elementAt(a);//Error is show here
System.out.print(java.util.Arrays.toString(array));
}
}
如果您还有其他方法,请分享。
您应该将元素投放到整数:
array[a]=(Integer)list.elementAt(a);
或避免使用原始向量类型,并指定要放入向量的元素的类型:
Vector<Integer> list =new Vector<>();
使用RAW向量列表时,list.elementAt(a)
返回Object
。您可以将任何参考类型添加到您的列表中,因此可以自动将元素施加到Integer(或INT)。
您需要将值投放给整数。如果您使用Vector<Integer>
代替Vector
,则可以。
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
Vector list =new Vector();
while(true)
{
String s=in.readLine();
if(s.equals(""))
break;
int i=Integer.parseInt(s);
Integer item=i;//autoboxing initialization of Integer object
list.addElement(item); //adding to the list till user gives input
}
int array[]=new int[(int)list.size()];
for(int a=0;a<array.length;a++)
array[a]=(int) list.elementAt(a);//Error is show here
System.out.print(java.util.Arrays.toString(array));
}