解决方案 »

  1.   

    既然数据结构是键值对,为什么不用Map存储呢
      

  2.   

    遍历list ,判断ATM 对象的id 是否为想要的id,然后获取其name值。
    可以参考二楼的方式,如果键不重复的话,可以考虑将数据结构修改为map来存储
    再根据id获取name就方便些了
      

  3.   

    public String getName(List<ATM> list,int id){
    String name=null;
    for(ATM atm:list){
    if(atm.getId()==id){
    name=atm.getName();
    break;
    }
    }
    return name;
    }
      

  4.   


    public class ATMServerImp implements ATMServer{
    Scanner input = new Scanner(System.in);
    ATMDao aDao = new ATMDaoImp();
    List<ATM> list = aDao.getAll();
    @Override
    public void ATMInfo() {


    System.out.println("序号\t种类");
    for(ATM atm:list){
    System.out.println(atm.getId()+"\t"+atm.getName());
    }
    } @Override
    public void addMoney(int atmNum,double Balance,String userName) {
    System.out.println("请输入存入金额:");
    double putMoney = input.nextDouble(); double money =list中某金钱数+putMoney;
    double userMoney = Balance+putMoney;
    aDao.addOrSubMoney(money,atmNum,userMoney,userName);
    }这是部分代码,ATMInfo()中可以显示list里的内容,但我想在addMoney(..)中得到list中第atmNum项的money的值,只能用for循环遍历后在判断吗?
    不能直接取出?感谢大家的关注!
      

  5.   

    list没有这个功能,需要自己写方法遍历
      

  6.   

    Orz......!!!!
    为啥这么简单的事没想到呢!!!!!public void addMoney(int atmNum,double Balance,String userName) {
    System.out.println("请输入存入金额:");
    double putMoney = input.nextDouble();

    double money =list.get(atmNum).getMoney()+putMoney;
    double userMoney = Balance+putMoney;
    aDao.addOrSubMoney(money,atmNum,userMoney,userName);
    }
    这样就可以得到了啊!!!!
    肯定是脑袋出啥问题了....