日期:2014-05-20  浏览次数:20763 次

老师给了个JAVA题目不会做,跪求大侠解救
由于刚学JAVA,对很多东西都不知道怎么理解,明天又要交作业了,求救好心人解救
编写程序,设计一个移动类,包含用户数组,和对应用户话费数组。要求实现如下功能
1.添加用户,并初始话费为0元,
2.给用指定用户充值。
3.查询指定用户的话费余额。
4.查询最高话费,和最低话费的用户和对应的余额。
发邮箱就可以了403385120@qq.com
------解决方案--------------------

import java.util.*;

public class Move
{
public Move()
{
user = new HashMap<String, Integer>();
}

public void addUser(String userName)
{
user.put(userName, 0);
}

public void addCharge(String userName, int charge)
{
int oldCharge = user.get(userName);
if(0 != oldCharge)
user.put(userName, oldCharge + charge);
user.put(userName, charge);
}

public int balance(String userName)
{
return user.get(userName);
}

//return max and min
public Map<String, Integer> find(int[] arr)
{
Map<List<String>, Integer> result = new HashMap<List<String>, Integer>();

int max = arr[1];
int min = arr[0];
List<String> maxUser = new ArrayList<String>();
List<String> minUser = new ArrayList<String>();

for(Map.Entry<String, Integer> entry : user.entrySet())
{
if(max == entry.getValue)
maxUser.add(entry.getKey());

if(min == entry.getValue)
minUser.add(entry.getKey());
}

temp.put(minUser, min);
temp.put(maxUser, max);

return result;
}


//0 is min, 1 is max
private int[] findMaxOrMin()
{
int[] result = new int[2];
int[] sum = user.values().toArray();
sum.sort();
result[0] = sum[0];
result[1] = sum[sum.length - 1];
return result;
}

private Map<String, Integer> user;
}