以天空之城为主题背景的期末作品设计,在天马行空的思想里结合很多现实的东西,我把它分了好多个部分,一点点实现吧,尽可能多的去把这个作品完善吧。纯java暂无前后交互的效果。
十二星座的对象类实现:
package StarCitySystem2_0_.DataCenter;
/**
* YicStudio
*
* @ClassName类名: zodiacSigns_Data
* @Description描述: 十二星座的初始化数据
* @author编程者: 一冲子
* @date日期: 2022/12/5 9:50
* @Blog小猴子: https://blog.csdn.net/YIC020920/
* @Blog博客园: https://www.cnblogs.com/YICHONG-777/
*/
/** @zodiacSigns_Data 翻译:十二星座的数据 */
public class zodiacSigns_Data {
String constellation; // 星座
String date; // 日期
String astrology; // 属性
@Override
public String toString() {
return "十二星座数据/zodiacSigns_Data:{\n" +
"星座/constellation='" + constellation + '\'' +
", \n日期/date='" + date + '\'' +
", \n星象/astrology='" + astrology + '\'' +
'}';
}
public zodiacSigns_Data(String constellation, String date, String attribute) {
this.constellation = constellation;
this.date = date;
this.astrology = attribute;
}
public zodiacSigns_Data() {
}
public String getConstellation() {
return constellation;
}
public void setConstellation(String constellation) {
this.constellation = constellation;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getAstrology() {
return astrology;
}
public void setAstrology(String astrology) {
this.astrology = astrology;
}
}
十二星座的接口,用来对每个星座的介绍,把这个接口方法重载了十二遍。
package StarCitySystem2_0_.InterfaceHub;
/**
* @introduce 翻译:介绍
*/
public interface introduce {
/** 介绍十二星座的接口 */
default void introducingTheConstellations(){
}
}
如何将对象进行实例化?当我执行时:
有了接口和数据的初始化,可以开始介绍它了,十二个星座都实现了接口:
package StarCitySystem2_0_.PlanetClass;
/**
* YicStudio
*
* @ClassName类名: zodiacSigns
* @Description描述: 创建十二星座
* @author编程者: 一冲子
* @date日期: 2022/12/4 10:54
* @Blog小猴子: https://blog.csdn.net/YIC020920/
* @Blog博客园: https://www.cnblogs.com/YICHONG-777/
*/
import StarCitySystem2_0_.DataCenter.zodiacSigns_Data;
import StarCitySystem2_0_.InterfaceHub.introduce;
/**
* @zodiacSigns 翻译:十二星座
*/
public class zodiacSigns extends zodiacSigns_Data {
public static class aries implements introduce{
// 白羊座 3.21-4.19
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data(
"白羊座","3.21-4.19","火象星座,internationalization: Fire signs");
System.out.println(zs1);
}
}
public static class taurus implements introduce{
// 金牛座 4.20-5.20
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("金牛座","4.20-5.20","土象星座");
System.out.println(zs1);
}
}
public static class gemini implements introduce{
// 双子座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("双子座","5.21-6.21","风象星座");
System.out.println(zs1);
}
}
public static class cancer implements introduce{
// 巨蟹座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("巨蟹座","6.22-7.22","水象星座");
System.out.println(zs1);
}
}
public static class leo implements introduce{
// 狮子座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("狮子座","7.23-8.22","火象星座");
System.out.println(zs1);
}
}
public static class virgo implements introduce{
// 处女座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("处女座","8.23-9.22","土象星座");
System.out.println(zs1);
}
}
public static class libra implements introduce{
// 天秤座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("天秤座","9.23-10.23","风象星座");
System.out.println(zs1);
}
}
public static class scorpio implements introduce{
// 天蝎座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("天蝎座","10.24-11.22","水象星座");
System.out.println(zs1);
}
}
public static class sagittarius implements introduce{
// 射手座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("射手座","11.23-12.21","火象星座");
System.out.println(zs1);
}
}
public static class capricorn implements introduce{
// 摩羯座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("摩羯座","12.22-1.19","土象星座");
System.out.println(zs1);
}
}
public static class aquarius implements introduce{
// 水瓶座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("水瓶座","1.20-2.18","风象星座");
System.out.println(zs1);
}
}
public static class pisces implements introduce{
// 双鱼座
@Override
public void introducingTheConstellations() {
zodiacSigns_Data zs1 = new zodiacSigns_Data("双鱼座","2.19-3.20","水象星座");
System.out.println(zs1);
}
}
}
当星座信息从接口里获取到,交给星空执行中心进行调用:
package StarCitySystem2_0_.MethodExecutionCenter;
/**
* YicStudio
*
* @ClassName类名: introducingTheConstellations
* @Description描述: 介绍星座的执行方法
* @author编程者: 一冲子
* @date日期: 2022/12/5 9:55
* @Blog小猴子: https://blog.csdn.net/YIC020920/
* @Blog博客园: https://www.cnblogs.com/YICHONG-777/
*/
import StarCitySystem2_0_.PlanetClass.zodiacSigns;
import java.util.Scanner;
/**
* @introducingTheConstellations 翻译:介绍星座
*/
public class introducingTheConstellations {
/**
* viewConstellations 翻译:查看星座
*/
public void viewConstellations() {
zodiacSigns.aries aries = new zodiacSigns.aries();
zodiacSigns.taurus taurus = new zodiacSigns.taurus();
zodiacSigns.gemini gemini = new zodiacSigns.gemini();
zodiacSigns.cancer cancer = new zodiacSigns.cancer();
zodiacSigns.leo leo = new zodiacSigns.leo();
zodiacSigns.virgo virgo = new zodiacSigns.virgo();
zodiacSigns.libra libra = new zodiacSigns.libra();
zodiacSigns.scorpio scorpio = new zodiacSigns.scorpio();
zodiacSigns.sagittarius sagittarius = new zodiacSigns.sagittarius();
zodiacSigns.capricorn capricorn = new zodiacSigns.capricorn();
zodiacSigns.aquarius aquarius = new zodiacSigns.aquarius();
zodiacSigns.pisces pisces = new zodiacSigns.pisces();
Scanner sc1 = new Scanner(System.in);
while (true){
System.out.println("请输入星座对应的序号查询相关信息~");
System.out.println("1、白羊座\t2、金牛座\t3、双子座\t4、巨蟹座\n" +
"5、狮子座\t6、处女座\t7、天秤座\t8、天蝎座\n" +
"9、射手座\t10、摩羯座\t11、水瓶座\t12、双鱼座");
System.out.println("请输入序号:(按0退出哦!)");
String i = sc1.next();
if ("1".equals(i)) {
aries.introducingTheConstellations();
} else if ("2".equals(i)) {
taurus.introducingTheConstellations();
} else if ("3".equals(i)) {
gemini.introducingTheConstellations();
} else if ("4".equals(i)) {
cancer.introducingTheConstellations();
} else if ("5".equals(i)) {
leo.introducingTheConstellations();
} else if ("6".equals(i)) {
virgo.introducingTheConstellations();
} else if ("7".equals(i)) {
libra.introducingTheConstellations();
} else if ("8".equals(i)) {
scorpio.introducingTheConstellations();
} else if ("9".equals(i)) {
sagittarius.introducingTheConstellations();
} else if ("10".equals(i)) {
capricorn.introducingTheConstellations();
} else if ("11".equals(i)) {
aquarius.introducingTheConstellations();
} else if ("12".equals(i)) {
pisces.introducingTheConstellations();
} else if ("0".equals(i)){
System.out.println("感谢光临十二星座,下次见!");
break;
} else {
System.out.println("请不要随便按咯!");
continue;
}
}
}
}
主方法的实现:
感谢观看!