import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Scanner; public class Test { public static void main(String[] args) throws ParseException { Scanner scanner = new Scanner(System.in); // 只输入月、日,此代码未校验月、日输入是否合理,比如2月30 System.out.print("请输入你的出生月份"); int month = scanner.nextInt(); System.out.print("请输入你的出生日期"); int day = scanner.nextInt(); System.out.print("你的星座是:"); // 通过输入完整日期的方式判断,可以自动处理不合理日期,比如2月30 // SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // System.out.print("请输入你的出生日期(形如2018-02-03):"); // Date birthday = dateFormat.parse(scanner.nextLine()); // // Calendar calendar = Calendar.getInstance(); // calendar.setTime(birthday); // int month = calendar.get(Calendar.MONTH) + 1; // int day = calendar.get(Calendar.DAY_OF_MONTH); // System.out.print("你的生日是 :" + dateFormat.format(birthday) + "\r\n你的星座是:"); scanner.close(); switch (month) { case 1: if (day System.out.println("摩羯座"); else System.out.println("水瓶座"); break; case 2: if (day System.out.println("水瓶座"); else System.out.println("双鱼座"); break; case 3: if (day System.out.println("双鱼座"); else System.out.println("白羊座"); break; case 4: if (day System.out.println("白羊座"); else System.out.println("金牛座"); break; case 5: if (day System.out.println("金牛座"); else System.out.println("双子座"); break; case 6: if (day System.out.println("双子座"); else System.out.println("巨蟹座"); break; case 7: if (day System.out.println("巨蟹座"); else System.out.println("狮子座"); break; case 8: if (day System.out.println("狮子座"); else System.out.println("处女座"); break; case 9: if (day System.out.println("处女座"); else System.out.println("天枰座"); break; case 10: if (day System.out.println("天枰座"); else System.out.println("天蝎座"); break; case 11: if (day System.out.println("天蝎座"); else System.out.println("射手座"); break; case 12: if (day System.out.println("射手座"); else System.out.println("摩羯座"); } } }
展开全部 /** * 根据月日判断星座 * @param month * @param day * @return int */ public static String getConstellation(int m,int d){ final String[] constellationArr = {"魔羯座" ,"水瓶座", "双鱼座", "牡羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座","天蝎座", "射手座", "魔羯座" }; final int[] constellationEdgeDay = { 20,18,20,20,20,21,22,22,22,22,21,21}; int month=m; int day =d; if (day = 0) { return constellationArr[month]; } //default to return 魔羯 return constellationArr[11]; }...
请大神们给...
展开全部 既然不允许用其他的方式,那就直接上代码吧.... public static void main(String[] args) { int point = -1; String[] str = {"白羊","金牛","双子","巨蟹","狮子","处女","天平","天蝎","射手","摩羯","水瓶","双鱼"}; SimpleDateFormat sdf = new SimpleDateFormat("MM-dd"); System.out.println("请输入一个日期,格式为MM-dd,例如:8-9"); Scanner scan = new Scanner(System.in); Date d = null; while (true) { try { String input = scan.next(); d = sdf.parse(input); break; } catch (Exception ex) { System.out.println("请输入正确的日期格式,例如:08-09"); } } //格式化日期,将日期转成**.**的格式,比如1月1日转成1.01 Double date = Double.parseDouble((d.getMonth() + 1) + "." + String.format("%02d", d.getDate())); if (3.21 = date) { point = 0; } else if (4.20 = date) { point = 1; } else if (5.21 = date) { point = 2; } else if (6.22 = date) { point = 3; } else if (7.23 = date) { point = 4; } else if (8.23 = date) { point = 5; } else if (9.23 = date) { point = 6; } else if (10.24 = date) { point = 7; } else if (11.23 = date) { point = 8; } else if (12.22 = date) { point = 9; } else if (1.01 = date) { point = 9; } else if (1.20 = date) { point = 10; } else if (2.19 = date) { point = 11; } if(point == -1) { System.out.println("你真的是地球人么....");return; } System.out.println(String.format( "找到啦!o^ ^o,你的星座是%s.", str[point]));