java集合类

import java.util.*;
class D
{
public static void main(String[] args)
{
Vector v = new Vector();
Enumeration f = v.elements();
int b = 0;
int sum = 0;
System.out.println("please Enter");
while(true)
{
try{b = System.in.read();}catch(Exception e){}
int c = b-'0';
v.addElement(new Integer(c));
switch(b)
{
case '\r':
break;
case '\n':
System.out.println(sum);

sum = 0;

break;
case '\t':
return;
default:
{
while(f.hasMoreElements())
{

Integer it = (Integer)f.nextElement();
sum+=it.intValue();
}
}
}

}

}
}

结果:注意:D.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
在根据他的提示执行,则显示:

D.java:15: 警告:[unchecked] 对作为普通类型 java.util.Vector 的成员的 addElement
(E) 的调用未经检查
v.addElement(new Integer(c));
^
1 警告

但是编译通过,只是有这个提示
1、请问出现的原因是什么

接着执行输入数据:例如输入123,则是6,正确。 但是进行下次输入时则是错误的结果。
2、请问为什么会出错

请高手帮我回答这两个问题
我计算的是输入数字的和,不是ascii码,比如输入1我就要它的值为1而不是49.
我把sum清空时为下次输入做准备。再default处难道不可以继续取数据吗?叠加式什么意思

请指教,谢谢

呵呵,这个是由于泛型导致的错误,Vector v = new Vector();在5.0以后都进行了重新的构造,变成了泛型类,也就是说你在使用的时候需要加上
Vector<Integer> v = new Vector<Integer>();
这样在以后addElement的时候就只能添加integer类型的数据了,不过程序不会出现错误,只会给你一个警告,关系不大,你可以在main前面加上去处警告的annotation,给你修改一下
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Vector v = new Vector();
Enumeration f = v.elements();
int b = 0;
int sum = 0;
System.out.println("please Enter");
while (true) {
try {
b = System.in.read();
} catch (Exception e) {
}
int c = b - '0';
v.addElement(new Integer(c));
switch (b) {
case '\r':
break;
case '\n':
System.out.println(sum);

sum = 0;

break;
case '\t':
return;
default: {
while (f.hasMoreElements()) {

Integer it = (Integer) f.nextElement();
sum += it.intValue();
}
}
}

}

}
我再来回答你的第二个问题,程序运行并没有出现什么错误,错误的就是你的业务逻辑,输出的结果不正确呗,根据程序可以看出来你是想打印字符的ascii码是多少,再输入回车之后sum的值被清空了,但是在default处又进行了重新的叠加,这块有问题,你查一下看看。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-29
问题1:

@SuppressWarnings("unchecked")
public static void main(String[] args)
{
}就ok了。
原因可以看下:
http://www.javaeye.com/topic/231224

问题2:
将Vector v = new Vector();
Enumeration f = v.elements();
放到while循环内。
就ok了。

参考资料:http://www.javaeye.com/topic/231224

第2个回答  2010-01-29
在myeclipse 中运行 正常

请检查 jdk版本 本人jdk1.4.2
第3个回答  2010-02-02
我运行了一下,没错啊!!!

Java集合入门,看这篇就够了(Java集合框架深度解析)
packageorg.example.test;importjava.util.LinkedList;\/***利用LinkedList来模拟栈*栈的特点:先进后出*\/publicclassTest12{privateLinkedList<String>linkList=newLinkedList<String>();\/\/压栈publicvoidpush(Stringstr){linkList.addFirst(str);}\/\/出栈publicStringpop(){returnlinkList.removeFirst();}\/\/查看publicSt...

java有哪些集合类
Java集合类主要有以下几种:1. List(列表):包括ArrayList、LinkedList等。它们是有序的集合,可以存储重复的元素。其中,ArrayList是基于数组实现的,随机访问元素非常快;而LinkedList则是双向链表实现的,插入和删除元素更快。2. Set(集合):包括HashSet、TreeSet等。Set集合中的元素无序且不可重复。

java中的集合类有哪些
Java中的集合类主要有以下几种:1. List(列表)List 是有序集合,会按照元素插入的顺序保存元素。它允许包含重复的元素,并且提供了按索引访问元素的手段。主要的 List 实现类有 ArrayList、LinkedList 等。2. Set(集合)Set 是一种不包含重复的元素的集合。它最多包含一个 null 元素。主要的 Set ...

java 集合类有哪些
Java集合类主要有以下几种:1. List集合 List集合是有序的集合,可以包含重复的元素。它主要有两种实现方式:ArrayList和LinkedList。ArrayList是基于数组实现的,查询效率高;LinkedList是基于链表实现的,插入和删除元素的效率高。2. Set集合 Set集合是一种不包含重复的元素的集合。它主要有三种实现方式:Ha...

java集合类型有哪些
java集合类型有:1、List(有序、可重复)。List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。2、Set(无序、不能重复)。Set里存放的对象是无序,不能...

java 有哪些集合
Map是一种键值对的集合,可以通过键来快速查找对应的值。其主要实现包括HashMap、TreeMap等。HashMap查询效率高但无序;TreeMap则是基于树结构实现的,查询效率高且有序。5. Stack(栈)Stack是一种后进先出(LIFO)的数据结构,可以添加和移除元素。Java中的Stack类是基于Vector实现的。以上就是Java中...

java中集合有哪些
3. Queue集合:Queue集合代表队列,可以进行先进先出的操作。常见的Queue实现包括LinkedList、PriorityQueue等。4. Map集合:Map集合是一种键值对的映射关系。常见的Map实现包括HashMap、TreeMap等。HashMap提供了快速的查找功能,而TreeMap则根据键进行排序。5. 其他集合类:除了上述基本集合类型外,Java还...

深入理解Java中的List、Set与Map集合
Java中的List、Set、Map是三种常见的集合类型,它们在数据存储和处理方面具有不同的特点和用途。首先,List和Set都是基于接口的集合类型,而Map则是一个实现接口的类。List和Set的主要区别在于元素是否允许重复。List允许元素重复,而Set不允许。此外,Set中的元素是无序的,而List中的元素是有序的。在...

java中的集合分类
Java集合框架 从上面的集合框架图可以看到,Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键\/值对映射。Collection接口又有3种子类型,List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、LinkedList、HashSet、Linked...

Java集合(Collection)
集合(Collection)在Java中指的是由多个确定元素构成的整体。集合能存储多个相同类型的数据,与数组相比,集合提供了更灵活的数据存储方式,可以存储不同类型和数量的对象。数组的缺点包括长度不可变、数据类型限制、存储数据有序且可重复。因此,集合类在实际应用中更受欢迎,尤其是当需要操作增删元素的有序...

相似回答
大家正在搜