老师给了个JAVA题目不会做,跪求大侠解救
由于刚学JAVA,对很多东西都不知道怎么理解,明天又要交作业了,求救好心人解救
编写程序,设计一个移动类,包含用户数组,和对应用户话费数组。要求实现如下功能
1.添加用户,并初始话费为0元,
2.给用指定用户充值。
3.查询指定用户的话费余额。
4.查询最高话费,和最低话费的用户和对应的余额。
发邮箱就可以了403385120@qq.com
------解决方案--------------------
import java.util.*;
public class Move
{
public Move()
{
user = new HashMap();
}
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 find(int[] arr)
{
Map, Integer> result = new HashMap, Integer>();
int max = arr[1];
int min = arr[0];
List maxUser = new ArrayList();
List minUser = new ArrayList();
for(Map.Entry 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 user;
}