用java编一个程序能通过用户输入的生日判断用户的星座。请大神们给点提示或者思路吧。规定不能自定义方法

请用比较基础的程序,我还是菜鸟,怕看不懂。。。。。谢谢大神们QAQ... 请用比较基础的程序,我还是菜鸟,怕看不懂。。。。。
谢谢大神们QAQ
展开
 我来答
秒杀腹黑菟
2014-01-10 · TA获得超过502个赞
知道小有建树答主
回答量:142
采纳率:100%
帮助的人:70万
展开全部

既然不允许用其他的方式,那就直接上代码吧....

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 && 4.19 >= date) {
            point = 0;
        } else if (4.20 <= date && 5.20 >= date) {
            point = 1;
        } else if (5.21 <= date && 6.21 >= date) {
            point = 2;
        } else if (6.22 <= date && 7.22 >= date) {
            point = 3;
        } else if (7.23 <= date && 8.22 >= date) {
            point = 4;
        } else if (8.23 <= date && 9.22 >= date) {
            point = 5;
        } else if (9.23 <= date && 10.23 >= date) {
            point = 6;
        } else if (10.24 <= date && 11.22 >= date) {
            point = 7;
        } else if (11.23 <= date && 12.21 >= date) {
            point = 8;
        } else if (12.22 <= date && 12.31 >= date) {
            point = 9;
        } else if (1.01 <= date && 1.19 >= date) {
            point = 9;
        } else if (1.20 <= date && 2.18 >= date) {
            point = 10;
        } else if (2.19 <= date && 3.20 >= date) {
            point = 11;
        }
        if(point == -1) {
            System.out.println("你真的是地球人么....");return;
        }
        System.out.println(String.format(
            "找到啦!o^ ^o,你的星座是%s.", str[point]));
果然丨在动
2014-01-10 · TA获得超过719个赞
知道小有建树答主
回答量:672
采纳率:50%
帮助的人:332万
展开全部
先确定输入生日的格式:比如为 “1月10日”
然后截取字符串,取出月份和日,再根据日月判断星座。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d6cb2e6
2014-01-10 · TA获得超过341个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:88万
展开全部
将输入的日期格式化成int比如1992-10-12 格式化成19921012 然后直接用switch判断 case里面的日期区间就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘记听雨
2014-01-10
知道答主
回答量:32
采纳率:0%
帮助的人:22.1万
展开全部
那就直接用switch开关语句判断呗,你所说的不能自定义方法我不是太理解,你直接在程序中判断是几月,然后回答对应的星座不就好了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-10
展开全部
不能自定义方法这种奇葩规定。。就是要让你一个main一直写么。。那还学什么java..答案其他楼已经给了,我就喷一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式