package com.day07;
class PurposeDemo {
public static void main(String[] args) {
// 创建若干目的对象, 给目的指定名字
Purpose p1 = new Purpose();
Purpose p2 = new Purpose();
Purpose p3 = new Purpose();
p1.name = "求学";
p2.name = "游玩";
p3.name = "定居";
// 创建城市对象, 给城市指定名字, 将目的装入数组中
City c = new City();
c.name = "北京";
c.purposeArr = new Purpose[]{p1, p2, p3};
// 创建人对象, 指定名字
Person p = new Person();
p.name = "张三";
// 求学, 得到一个结果
Purpose result = p.come(c, "求学");
// 判断有没有来的目的
if (result != null)
System.out.println( p.name +"来"+ c.name +"的真正目的是"+ result.name);
else
System.out.println(p.name + "来" + c.name + "什么目的都没有");
}
}
class Purpose { // 目的
String name; // 具体目的的名字
}
class City { // 城市
String name; // 城市的名字
Purpose[] purposeArr; // 来这个城市的不同目的, 可以有多种目的
Purpose activity(String name) { // 城市提供的活动方法
for (int i = 0; i < purposeArr.length; i++) { // 循环遍历目的数组
if (purposeArr[i].name == name) { // 判断是否是来的目的
return purposeArr[i]; // 如果有来的目的, 将目的返回
}
}
return null; // 循环结束后都没有返回, 则代表没有这样的目的, 返回null
}
}
class Person { // 人
String name; // 人的名字
Purpose come(City city, String name) { // 人去城市的功能, 需要指定哪个城市, 去的目的, 返回来的目的
return city.activity(name); // 调用调用城市come功能, 将去城市的目的返回
}
}
//当数组中有目的是运行结果如图1,没有目的运行结果如图2:
|
-
1.jpg
(18.71 KB, 下载次数: 8)
图1
-
2.jpg
(15.2 KB, 下载次数: 10)
图2
|