题目  先把国家加入map中,然后打印出以"A"开头的国家
      二个问题,如何建立泛型数组,这里面说不能建立泛型数组,所以不好用for语句
代码:(没有注释,见谅)import java.util.*;
import java.lang.*;class Pairs<K,V>
{
public K key;
public V value;
public Pairs(K key,V value)
{
this.key=key;
this.value=value;
}
}
public class SearchMap
{
//private  Map<String,String> map;
public  void put(Pairs<String,String> p,Map<String,String> map)
{
//map=new LinkedHashMap<String,String>();
map.put(p.key,p.value);
}
public boolean judge(Pairs<String,String> p,Map<String,String> map)
{
put(p,map);
//map=new LinkedHashMap<String,String>();
StringBuffer sb=new StringBuffer((String)map.get(p.value));
if(sb.charAt(0)=='A')
{
return true;
}else
{
return false;
}
}
public static void main(String[] args)
{
SearchMap sm=new SearchMap();
Map<String,String> map1=new LinkedHashMap<String,String>();
Pairs<String,String> p1=new Pairs<String,String>("zhongguo","China");
Pairs<String,String> p2=new Pairs<String,String>("meiguo","American");
Pairs<String,String> p3=new Pairs<String,String>("zhamguo","Asha");
Pairs<String,String> p4=new Pairs<String,String>("yingguo","England");
Pairs<String,String> p5=new Pairs<String,String>("faguo","French");
Pairs<String,String> p6=new Pairs<String,String>("aodili","Australia");
    //sm.put(p1,map1);sm.put(p2,map1);sm.put(p3,map1);sm.put(p4,map1);sm.put(p5,map1);sm.put(p6,map1);
    if(sm.judge(p1,map1))
    {
     System.out.println(p1.value);
    }else if(sm.judge(p2,map1))
    {
     System.out.println(p2.value);
    }else if(sm.judge(p2,map1))
    {
     System.out.println(p1.value);
    }else if(sm.judge(p3,map1))
    {
     System.out.println(p3.value);
    }else if(sm.judge(p4,map1))
    {
     System.out.println(p4.value);
    }else if(sm.judge(p5,map1))
    {
     System.out.println(p5.value);
    }else if(sm.judge(p6,map1))
    {
     System.out.println(p6.value);
    }
}
}

解决方案 »

  1.   

    StringBuffer sb=new StringBuffer((String)map.get(p.value)); 中map是从主方法那边传过来的,本来就是空值,是你的public  void put(Pairs <String,String> p,Map <String,String> map) 写错了,应该返回一个Map<String,String>类型
      

  2.   

    import java.util.*; 
    import java.lang.*; class Pairs <K,V> 

    public K key; 
    public V value; 
    public Pairs(K key,V value) 

    this.key=key; 
    this.value=value; 


    public class SearchMap 

    //private  Map <String,String> map; 
    public  void put(Pairs <String,String> p,Map <String,String> map) 

    //map=new LinkedHashMap <String,String>(); 
    map.put(p.key,p.value); 

    public boolean judge(Pairs <String,String> p,Map <String,String> map) 

    put(p,map); 
    //map=new LinkedHashMap <String,String>(); 
    StringBuffer sb=new StringBuffer((String)map.get(p.key)); 
    if(sb.charAt(0)=='A') 

    return true; 
    }else 

    return false; 


    public static void main(String[] args) 

    SearchMap sm=new SearchMap(); 
    Map <String,String> map1=new LinkedHashMap <String,String>(); 
    Pairs <String,String> p1=new Pairs <String,String>("zhongguo","China"); 
    Pairs <String,String> p2=new Pairs <String,String>("meiguo","American"); 
    Pairs <String,String> p3=new Pairs <String,String>("zhamguo","Asha"); 
    Pairs <String,String> p4=new Pairs <String,String>("yingguo","England"); 
    Pairs <String,String> p5=new Pairs <String,String>("faguo","French"); 
    Pairs <String,String> p6=new Pairs <String,String>("aodili","Australia"); 
        //sm.put(p1,map1);sm.put(p2,map1);sm.put(p3,map1);sm.put(p4,map1);sm.put(p5,map1);sm.put(p6,map1); 
        if(sm.judge(p1,map1)) 
        { 
        System.out.println(p1.value); 
        }else if(sm.judge(p2,map1)) 
        { 
        System.out.println(p2.value); 
        }else if(sm.judge(p2,map1)) 
        { 
        System.out.println(p1.value); 
        }else if(sm.judge(p3,map1)) 
        { 
        System.out.println(p3.value); 
        }else if(sm.judge(p4,map1)) 
        { 
        System.out.println(p4.value); 
        }else if(sm.judge(p5,map1)) 
        { 
        System.out.println(p5.value); 
        }else if(sm.judge(p6,map1)) 
        { 
        System.out.println(p6.value); 
        } 

    }
      

  3.   

    你的对了 我也是这么改的 粗心不得啊
       呵呵
      还有一个问题是不能创建泛型数组吗??
      比如Pairs<String,String>[]  p={new Pairs<String,String>("zhongguo","China"),new Pairs<String,String>("meiguo","American"),
          new Pairs<String,String>("zhamguo","Asha"),new Pairs<String,String>("yingguo","England"),
                    new Pairs<String,String>("faguo","French"),new Pairs<String,String>("aodili","Australia")};
      

  4.   

    报错是can't create a cast array
      

  5.   

    报错是can't create a cast array
       帮我解决这个了就给你分啊
      呵呵呵(只要你想想就给你)