我看看这个题目,很简单(一起学习java 散分)

thefirstwind 2004-03-31 02:54:08
大家来看看老师给我留的作业,我们一切作吧,11点之前交作业!
我很菜的,学java中,希望高手指点一二(我会马上帖出自己写的东西,这个帖子就是给分的,如果你有好的思想也可以帖出来):

如果你和我一样菜,那就学学这些好资料吧,相关学习资料可以到这里下载:
ftp://211.71.12.123/Upload/java/

老师对作业的要求如下:

import java.util.*;

/**
* 第二次作业要求:
* 构造一个数据结构,该结构可以针对某一key保存多个对应的value
* 可按key值查询并依次访问这些value
*/

interface MyInterface{

//获得整个数据结构的对象
public HashMap getMap();

//判断当前数据结构中是否包含指定的key
public boolean contains(String key);

//把value对象保存到对应key值的列表中
public void put(String key, Object value);

//查找key值对应的所有value,并返回到一个LinkedList对象中
public LinkedList getLinkedList(String key);

//查找并打印出对应key值的所有value,如果没查到,则抛出例外
//可能要使用contains, geLinkedList方法
public void print(String key)throws Exception;

}

public class MyLinkedMap implements MyInterface {
//请在此实现上述接口中的所有方法...

//测试代码:
public static void main(String[] args)
{
MyLinkedMap m=new MyLinkedMap();
m.put("GS001","c++:good");
m.put("GS001","java:fair");

m.put("GS002","c++:good");
m.put("GS002","java:excellent");

m.put("GS001","c#: failed");

m.put("GS002","c#: failed");


try{
m.print("GS002");
}catch(Exception e){
System.out.println(e.getMessage());
}

try{
m.print("GS001");
}catch(Exception e){
System.out.println(e.getMessage());
}

try{
m.print("吴慈仁");
}catch(Exception e){
System.out.println(e.getMessage());
}

}
//期望测试输出的正确结果应该如下:
/*
key:GS002
c++:good
java:excellent
c#: failed
key:GS001
c++:good
java:fair
c#: failed
No such key:吴慈仁
*/
}

...全文
68 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
jonathan_yun 2004-03-31
  • 打赏
  • 举报
回复
同意gundam_king(东方不败) 的观点
自己努力努力!!!
buaaaladdin 2004-03-31
  • 打赏
  • 举报
回复
提个想法,用JNI去调用C++ Stl的MultiMap。
rombus 2004-03-31
  • 打赏
  • 举报
回复
帮你up
thefirstwind 2004-03-31
  • 打赏
  • 举报
回复
private HashMap hashMap;//定义 HashMap 类型的成员变量

//MyLinkedMap的构造函数
public MyLinkedMap()
{
hashMap = new HashMap();
}

// 获得整个数据结构的对象,返回类型为HashMap
public HashMap getMap()
{
return hashMap;
}

//判断当前数据结构中是否包含指定的key,key为传递进来的字符类型的参数
public boolean contains(String key)
{
return hashMap.containsKey(key);
}

//把value对象保存到对应key值的列表中
public void put(String key, Object value)
{
if(contains(key))
{
getLinkedList(key).add(value);
}
else
{
List linkedlist = new LinkedList();
linkedlist.add(value);
hashMap.put(key,linkedlist);
}
}

//查找key值对应的所有value,并返回到一个LinkedList对象中
public LinkedList getLinkedList(String key)
{
return (LinkedList)hashMap.get(key);
}

//把value对象保存到对应key值的列表中
public void print(String key)throws Exception
{
if(contains(key))
{
System.out.println("key:"+key);
Iterator linklist = getLinkedList(key).iterator();
while(linklist.hasNext())
{
System.out.println(linklist.next());
}
}
else
{
System.out.println("No such key:"+key);
}
}


反正是做出来了,哎呀,差得太多了!
caiyanying732 2004-03-31
  • 打赏
  • 举报
回复
学习
xiaozuidazhi 2004-03-31
  • 打赏
  • 举报
回复
http://www.kan68.com/index3.htm?user=djb_skyface
chy2swl 2004-03-31
  • 打赏
  • 举报
回复
你把你老师的改一下就可以了吧
thefirstwind 2004-03-31
  • 打赏
  • 举报
回复
事先声明,没有在自己写完作业之前我是不会看你们的程序的,这是对自己负责,我会在11点之前帖出来自己的程序,大家可以一起讨论!
postfather 2004-03-31
  • 打赏
  • 举报
回复
不错,有创意
xuegaosp 2004-03-31
  • 打赏
  • 举报
回复
up
tsd3698 2004-03-31
  • 打赏
  • 举报
回复
作业放到CSDN上,的确是个好主意
programer23 2004-03-31
  • 打赏
  • 举报
回复
同意gundam_king(东方不败) 的。你试试。
runki 2004-03-31
  • 打赏
  • 举报
回复
我还是学习吧!
gundam_king 2004-03-31
  • 打赏
  • 举报
回复
自己在优化一下吧,不过还是自己做比较好!
import java.util.*;

public class MyLinkedMap implements MyInterface {
HashMap my = new HashMap();
public HashMap getMap() {
return my;
}

//判断当前数据结构中是否包含指定的key
public boolean contains(String key) {
return my.containsKey(key);

}

//把value对象保存到对应key值的列表中
public void put(String key, Object value) {
if (!contains(key)) {
List con = new LinkedList();
con.add(value);
my.put(key, con);
} else {
LinkedList con = (LinkedList) my.get(key);
con.add(value);
my.put(key, con);
}

}

//查找key值对应的所有value,并返回到一个LinkedList对象中
public LinkedList getLinkedList(String key) {
if (contains(key)) {
LinkedList hi = (LinkedList) my.get(key);
return hi;
} else
return null;

}

//查找并打印出对应key值的所有value,如果没查到,则抛出例外
public void print(String key) throws Exception {
List m=getLinkedList(key);
if(m!=null){
System.out.println("key:"+key);
Iterator it=m.iterator() ;
while(it.hasNext())
System.out.println(it.next());}
else
System.out.println("No such key:"+key) ;


}

public static void main(String[] args) {
MyLinkedMap m = new MyLinkedMap();
m.put("GS001", "c++:good");
m.put("GS001", "java:fair");

m.put("GS002", "c++:good");
m.put("GS002", "java:excellent");

m.put("GS001", "c#: failed");

m.put("GS002", "c#: failed");

try {
m.print("GS002");
} catch (Exception e) {
System.out.println(e.getMessage());
}

try {
m.print("GS001");
} catch (Exception e) {
System.out.println(e.getMessage());
}

try {
m.print("吴慈仁");
} catch (Exception e) {
System.out.println(e.getMessage());
}

}
}
Minsc79 2004-03-31
  • 打赏
  • 举报
回复
学习,帮你up
Weilibo 2004-03-31
  • 打赏
  • 举报
回复
也来学习一下,一起努力哦
tiantian846 2004-03-31
  • 打赏
  • 举报
回复
作业到网上做,利害
zhangt21 2004-03-31
  • 打赏
  • 举报
回复
学习

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧