需求说明:
系统显示用户所有直辖市的名称,用户在控制台输入直辖市的名称,即可在控制台中显示该直辖市所管辖的所有区的名称。
实现思路:
创建省市联动类ProvincialLinkage,在该类中定义4个List类型属性,用于保存直辖市所管辖的区的名称。
定义HashMap类型属性provinceCity,其键值保存直辖市的名称,而value值为直辖市所管辖的区的名称,该名称为List对象。
定义show()方法,用于实现省市联动的逻辑操作,系统显示的直辖市的名称为provinceCity的所有的key值。用户输入直辖市的名称,即为proviceCity中的某一个键值,通过该键值,可获取对应的value值,其value值是一个List集合对象,遍历该集合得到的数据即为该直辖市所管辖的区的名称。
实现代码:
package java7; import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; public class ProvincialLinkage { public static void main(String[] args) { Scanner sc=new Scanner(System.in); ArrayList<Character> list=new ArrayList(); list.add('s'); char str=list.get(0); HashMap<String,ArrayList<String>>map=new HashMap<>(); ArrayList <String> q=new ArrayList<>(); q.add("浦东区"); q.add("徐汇区"); q.add("长宁区"); q.add("普陀区"); q.add("闸北区"); q.add("虹口区"); q.add("杨浦区"); q.add("黄埔区"); map.put("上海",q ); ArrayList <String> w=new ArrayList<>(); w.add("东城区"); w.add("西城区"); w.add("海淀区"); w.add("朝阳区"); w.add("崇文区"); w.add("宣武区"); w.add("石景山区"); w.add("铲平区"); map.put("北京", w); while(true){ System.out.print("请选择直辖市:【上海】【北京】【重庆】【天津】"); String s=sc.next(); System.out.println(q); System.out.println(w); } } }