用Vector写了个通讯录,提示找不到符号、不兼容的类型,求指教

maybecoffee 2012-10-14 03:06:51
新学习Java,用Vector写了个通讯录,但是编译的时候总是出错,求指点,感激不尽!
import java.io.*;
import java.util.Vector;
import java.util.Scanner;

public class tongxunlu1 {
//主方法
public static void main (String[] args){
SimpleMember tongxunList=new SimpleMember();
int choice;
showSelection();
choice=GetInput.getInput();
while(choice!=0){
switch(choice){
case 1:
tongxunList.printAllMember();
break;
case 2:
tongxunList.InputMember();
break;
case 3:
tongxunList.searchMember();
break;
case 4:
tongxunList.dMember();
break;
case 5:
tongxunList.chMember();
break;
default:System.out.println("Invalid selection");
}
System.out.println("\n");
showSelection();
choice=GetInput.getInput();
}
}

//输入主界面
public static void showSelection () {
System.out.println("**********************");
System.out.println(" 1.显示所有的通讯人");
System.out.println(" 2.添加新的通讯人");
System.out.println(" 3.查找通讯人");
System.out.println(" 4.删除通讯人");
System.out.println(" 5.修改通讯人");
System.out.println(" 0.退出");
System.out.println("**********************");
}
}

//输入选择项
class GetInput{
public static int getInput() {
System.out.println("请输入:");
Scanner scanner=new Scanner(System.in);
int str=scanner.nextInt();
return str;
}
}

class SimpleMember {
public Vector memberList=new Vector();
public Vector member=new Vector();

//输入
String InputSth(String Sth1,String Sth2) {
String str;
Scanner scanner=new Scanner(System.in);
System.out.println("请输入需要"+Sth1+"的人的"+Sth2);
str=scanner.next();
return str;
}
//打印链表中的所有成员
void printAllMember(){
int memberNum;
memberNum=memberList.size();
System.out.println("该通讯录中共有"+"memberNum"+"个条目");
System.out.println(memberList);
}
//向链表中添加成员
void InputMember(){
String strInput;
member.removeAllElement();
strInput=InputSth("添加","名字");
member.addElement(strInput);
strInput=InputSth("添加","年龄");
member.addElement(strInput);
strInput=InputSth("添加","国家");
member.addElement(strInput);
memberList.addElement(member);
System.out.print("刚刚输入的信息是:"+member);
}
//查找成员
void searchMember(){
String strSearch;
int i;
strSearch=InputSth("查找","名字");
for(i=0;i<memberList.size();i++){

if(memberList.elementAt(i).contains(strSearch))
System.out.println(memberList.elementAt(i));
else
System.out.println("该通讯录中无"+strSearch+"的记录");
}
}

//删除成员
void dMember() {
String strDel;
int i;
strDel=InputSth("删除","名字");
for(i=0;i<memberList.size();i++){
if(memberList.elementAt(i).contains(strDel)){
member=memberList.elementAt(i);
memberList.elementAt(i).removeElementAt();
}
}
System.out.print("刚刚删除的信息是:"+member);
}
//修改成员信息
void chMember() {
member.removeAllMember();
String strChange;
int i;
strChange=InputSth("修改","名字");
for(i=0;i<memberList.size();i++){
if(memberList.elementAt(i).contains(strChange)){
member=memberList.elementAt(i);
System.out.println("要修改"+strChange+"的信息");
}
}
member.addElement(strChange);
strChange=InputSth("修改","年龄");
member.addElement(strChange);
strChange=InputSth("修改","国家");
member.addElement(strChange);
memberList.removeElementAt(i);
memberList.insertElementAt(member,i);
System.out.println("刚刚修改后的信息是:"+member);
}
}
在JDK1.5的环境,DOS下编译,在有member.removeAllElement()语句的地方提示找不到符号、不兼容的类型,最后一个提示说使用了未经检查或不安全的操作。

请问是哪里出错了啊?
...全文
97 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
maybecoffee 2012-10-22
自己搞定了,贴个解决方案,方便后来人吧!
语句:if(memberList.elementAt(i).contains(strSearch))
改为:if( ((Vector)memberList.elementAt(i)).firstElement().equals(strSearch) )
就可以了。
回复
maybecoffee 2012-10-14
[Quote=引用 1 楼 的回复:]
member.removeAllElement()改为member.removeAllElements()
[/Quote]
请问,memberList.elementAt(i).contains(strDel)语句处提示找不到符号,是因为什么啊?
回复
杀手 2012-10-14
member.removeAllElement()改为member.removeAllElements()
回复
相关推荐
发帖
Java
创建于2007-09-28

4.7w+

社区成员

Java相关技术讨论
申请成为版主
帖子事件
创建了帖子
2012-10-14 03:06
社区公告
暂无公告