user类 里面有个name属性
money类 里面有个money属性
在控制类controller里面
- Java code
//添加用户,并初始话费为0元, public void addUser(String u){ user.setName(u); money.setMoney(0.0); }
现在定义了一个容器
- Java code
List<User> users = new ArrayList<User>();
想把 前面添加的用户 添加到users容器里面去 没有思路 写到这里就卡住了
- Java code
//将用户添加到容器中 public void add(){ for(int i = 0; i < 10; i ++){ users.add(user); } }
首先 容器的大小不确定 for循环里的 i < 10 就不科学
还有users.add(user);我也觉得变扭
额 表达能力有问题 我把部分代码都贴上吧
- Java code
package com.cn.control;import java.util.ArrayList;import java.util.List;import com.cn.model.Money;import com.cn.model.User;public class Controller { List<User> users = new ArrayList<User>(); Money money = new Money(); User user = new User(); //查询话费 public void lookAccount(){ System.out.println("账户:" + user.getName()); System.out.println("余额:" + money.getMoney()); } //添加用户,并初始话费为0元, public void addUser(String u){ user.setName(u); money.setMoney(0.0); } //将用户添加到容器中 public void add(){ for(int i = 0; i < 10; i ++){ users.add(user); } } }
------解决方案--------------------------------------------------------
这种情况,建议把money属性转移至User类并删除Money类,毕竟money算是你这里场景中User类的一个必不可少的属性,分开来不好。
搞不懂public void add(){
for(int i = 0; i < 10; i ++){
users.add(user);
}
}
这个方法要干嘛?
------解决方案--------------------------------------------------------
上面的代码设计的不好,User之中应该有Money(余额)这个属性
然后数据库端设计money的default value是0.0
如果你一定要按照上面的思路去写的话,代码如下:
(只是这样的设计很不专业)
- Java code
import java.util.*;public class Controller { private Map<String,Money> map = new HashMap<String, Money>(); //初始化查询的Map public void setUserMessage(User u,Money m){ map.put(u.getUsername(), m); } //遍历map public void getUserMessage(){ Set<String> key = map.keySet(); for(Iterator<String> it = key.iterator();it.hasNext();) { String username = (String)it.next(); Money m = map.get(username); System.out.println(username + "的余额是" + m.getMoney() + "元"); } } public static void main(String args[]) { User u = new User(); u.setUsername("zhangsan"); Money m = new Money(0.0f); Controller c = new Controller(); c.setUserMessage(u, m); c.getUserMessage(); } }
------解决方案--------------------------------------------------------
搞不懂楼主在干神马啊、、、
------解决方案--------------------------------------------------------
你的add方法设计有问题,
//将用户添加到容器中
public void add(){
for(int i = 0; i < 10; i ++){
users.add(user);
}
}
应该是
- Java code
//将用户添加到容器中 public void add(User user){ users.add(user); }
------解决方案--------------------------------------------------------
你这样设计就是一个拥有名字的用户,和一个有钱的现金。