帮我用java写一个三级联动
时间: 2023-04-03 16:04:47 浏览: 55
很高兴为您提供帮助。以下是Java代码实现三级联动的示例:
```
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class ThreeLevelLinkage {
public static void main(String[] args) {
Map<String, Map<String, String>> provinceCityMap = new HashMap<>();
Map<String, String> cityDistrictMap = new HashMap<>();
// 初始化省市区数据
Map<String, String> cityMap = new HashMap<>();
cityMap.put("北京市", "北京市");
cityMap.put("上海市", "上海市");
cityMap.put("广州市", "广东省");
cityMap.put("深圳市", "广东省");
cityMap.put("杭州市", "浙江省");
provinceCityMap.put("中国", cityMap);
cityDistrictMap.put("北京市", "东城区");
cityDistrictMap.put("上海市", "黄浦区");
cityDistrictMap.put("广州市", "天河区");
cityDistrictMap.put("深圳市", "福田区");
cityDistrictMap.put("杭州市", "西湖区");
Scanner scanner = new Scanner(System.in);
String province = "";
String city = "";
String district = "";
while (true) {
System.out.println("请输入省份名称:");
province = scanner.nextLine();
if (provinceCityMap.containsKey(province)) {
break;
} else {
System.out.println("输入有误,请重新输入!");
}
}
while (true) {
System.out.println("请输入城市名称:");
city = scanner.nextLine();
if (provinceCityMap.get(province).containsKey(city)) {
break;
} else {
System.out.println("输入有误,请重新输入!");
}
}
while (true) {
System.out.println("请输入区县名称:");
district = scanner.nextLine();
if (cityDistrictMap.containsKey(city) && cityDistrictMap.get(city).equals(district)) {
break;
} else {
System.out.println("输入有误,请重新输入!");
}
}
System.out.println("您选择的地址是:" + province + " " + city + " " + district);
}
}
```
该程序实现了一个简单的三级联动,用户可以依次输入省份、城市和区县,程序会根据用户输入的内容输出最终的地址。