58,454
社区成员
发帖
与我相关
我的任务
分享
//这里不用改,其他都要改
public static void main(String[] args)
{
ConnectionBook cb = new ConnectionBook();
cb.printGUI();
cb.run();
}
//错
ConnectionBook cb1(cb) = new ConnectionBook();
cb.printGUI();
cb.run();
//对
printGUI();
run();
//你的member是存在cb里面的,但是你又新建了一个cb1什么的鬼东西,cb1里面的member是空的,然后你死命得在cb1的member里找值,这就出错了丫,你一定要用你add了东西的那个member的ConnectionBook,要用正确的对象调方法。
//我改了你的一个index里面的东西,其他的都有点错,你自己改
public void searchMember()
{
System.out.printf("Please input your search condition :");
System.out.printf("1,Name; 2,Sex, 3,Tel, 4,Addr ");
Scanner string = new Scanner(System.in);
index = string.nextInt();
if(index == 1)
{
System.out.printf("Please input member'name :");
Scanner string1 = new Scanner(System.in);
getName = string1.nextLine();
System.out.println("searchMember:member.size()="+this.member.size());
boolean flag = false;//判断是否找到符合的东西
for(ConnectionBook c:member)
{
if(c.getName().equals(getName)){//判断找到符合的值的条件要写对
System.out.println("Name " + "Sex " + "Tel " + "Addr ");
System.out.println(getName+" " + getSex + " " + getTel + " " + getAddr + " " );
flag = true;//找到符合的东西时设为true
}
}
if(flag==false){//没找到符合的东西时flag仍为false,输出错误信息
System.out.printf("The member you found is not exists!\n");
}
...
//写错
public ConnectionBook(String aName,String aSex,double aTel,String aAddr)
{
aName=name;
aSex=sex;
aTel=tel;
aAddr=addr;
}
//修改后
//应该把传进来的值赋给ConnectionBoo类的私有变量
//你之前的写法是把ConnectionBoo类的私有变量(null)赋给传进来的值,私有变量仍然为null
public ConnectionBook(String aName,String aSex,double aTel,String aAddr)
{
name=aName;
sex=aSex;
tel=aTel;
addr=aAddr;
}
//写错
ConnectionBook cb = new ConnectionBook("getName","getSex",getTel,"getAddr");
//修改后,getName直接传就可以了,你上面的写法等于是传了一个值为getName的String进去,这是不对的
ConnectionBook cb = new ConnectionBook(getName,getSex,getTel,getAddr);
import java.util.*;
ArrayList<ConnectionBook> member = new ArrayList<ConnectionBook>();
//如果只有一条数据的话。直接
ConnectionBook cb=member.get(0);
//然后输入就是了
//如果是多条数据的话。
//---
if(member.size()>0)
{
for(int i=0;i<member.size();i++)
{
ConnectionBook cb=member.get(i);
System.out.println("Name+Sex+Tel+Addr" + cb.getName()+cb.getSex()+cb.getTel()+cb.getAddr());
}
}