第三章:Java语言基础II 第9、10节 综合案例 算命程序

- 需求:手机号算命算法(仅供娱乐):手机号码除以80,再减去整数部分(只留小数),再乘以80,就会得到一个命理数。根据命理数到命理数表中查询你的命理。

import java.util.Scanner;

public class FateDemo
{
    public static void main(String[] args)
    {
        System.out.println("请输入您的手机号:");
        Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();
        // 判断手机号是否输入,如果没有,就结束程序,并给出提示
        if(num.length() <= 0)
        {
            System.out.println("手机号必填!");
            return;
        }
        // 判断手机号长度是否是11,如果不是,就结束程序,并给出提示
        if(num.length() != 11)
        {
            System.out.println("手机号长度该是11位数字!");
            return;
        }
        // 判断手机号是否以"1"开头,如果不是,就结束程序,并给出提示
        if(!num.startsWith("1"))
        {
            System.out.println("手机号应该以\"1\"开头!");
            return;
        }
        // 利用String的函数toCharArray(),将字符串转换成字符数组
        char[] chs = num.toCharArray();
        // 判断手机号中是否包含非数字字符,如果有,给出提示,退出程序
        for(int i = 1; i < num.length(); i++)
        {
            if( chs[i] < '0' || chs[i] > '9')
            {
                System.out.println("手机号第\"" + (i + 1) + "\"位" + "包含非法字符\"" + chs[i] +"\"!");
                return;
            }
        }
         // 利用Long类的方法parseLong(),将字符串解析成long数据
        long pnum = Long.parseLong(num);
        /*
           获得命运数字,按照需求,将题目的描述“手机号码除以80,再减去整数部分(只留小数),
           再乘以80,就会得到一个命理数” 转换成 “手机号取余”
        */
        int nnum = (int)(pnum % 80L);

        // 利用String类型的一维数组,存放82个不同的命运描述
        String[] mingyun = {"拥有非常人的能力,能够跳出三界外,不在五行中 吉","大展鸿图,信用得固,无远弗界,可获成功 吉",
                "根基不固,摇摇欲坠,一盛一衰,劳而无功 凶","根深蒂固,蒸蒸日上,如意吉祥,百事顺遂 吉",
                "坎坷前途,苦难折磨,非有毅力,难望成功 凶","阴阳和合,生意欣荣,名利双收,后福重重 吉",
                "万宝云集,天降幸运,立志奋发,可成大功 吉","专心经营,和气致祥,排除万难,必获成功 吉",
                "努力发达,贯彻志望,不忘进退,成功可期 吉","虽抱奇才,有才无命,独营无力,财利无望 凶",
                "乌云遮月,暗淡无光,空费心力,徒劳无功 凶","草木逢春,枯叶沾露,稳健着实,必得人望 吉",
                "薄弱无力,孤立无摇,外祥内苦,谋事难成 凶","天赋吉运,能得人望,善用智慧,必获成功 吉",
                "忍得苦难,必有后福,是成是败,惟靠坚毅 凶","谦恭做事,必得人和,大事成就,一定兴隆 吉",
                "能获众望,成就大业,名利双收,盟主四方 吉","排除万难,有贵人助,把握时机,可得成功 吉",
                "经商做事,顺利昌隆,如能慎始,百事亨通 吉","成功虽早,慎防空亏,内外不合,障碍重重 凶",
                "智高志大,历尽艰难,焦心忧劳,进退两难 凶","专心经营,善用智慧,霜雪梅花,春来怒放 吉",
                "秋草逢霜,怀才不遇,忧愁怨苦,事不如意 凶","旭日升天,名显四方,渐次进展,终成大业 吉",
                "锦绣前程,须靠自力,多用智谋,能奏大功 吉","天时地利,再得人格,讲信修睦,即可成功 吉",
                "波澜起伏,千变万化,凌驾万难,必可成功 凶","一成一败,一盛一衰,惟靠谨慎,可守成功 凶带吉",
                "鱼临旱地,难逃恶运,此数大凶,不如更名 凶","如龙得云,青云直上,智谋奋进,才略奏功 吉",
                "吉凶参半,得失相伴,投机取巧,如赛一样 凶","此数大吉,名利双收,渐进向上,大业成就 吉",
                "池中之龙,风云际会,一跃上天,成功可望 吉","不可意气,善用智慧,如能慎始,必可昌隆 吉",
                "灾难不绝,难望成功,此数大凶,不如更名 凶","中吉之数,进退保守,生意安稳,成就可期 吉",
                "波澜重迭,常陷穷困,动不如静,有才无命 凶","逢凶化吉,吉人天相,风条雨顺,生意兴隆 吉",
                "名虽可得,利则难获,艺界发展,可望成功 凶带吉","云开见月,虽有劳碌,光明坦途,指日可期 吉",
                "一胜一衰,浮沉不定,知难而退,自获天佑 吉带凶","天赋吉运,德望兼备,继续努力,前途无限 吉",
                "事业不专,十九不成,专心进取,可望成功 吉带凶","雨夜之花,外祥内苦,忍耐自重,转凶为吉 吉带凶",
                "虽用心计,事难遂愿,贪功好进,必招失败 凶","杨柳遇春,绿叶发枝,冲破难关,一举成名 吉",
                "坎坷不平,艰难重重,若无耐心,难望有成 凶","有贵人助,可成大业,虽遇不幸,浮沉不大 吉",
                "美化丰实,鹤立鸡群,名利俱全,繁荣富贵 吉","遇吉则吉,遇凶则凶,惟靠谨慎,逢凶化吉 凶",
                "吉凶互见,一成一败,凶中有吉,吉中有凶 吉带凶","一盛一衰,浮沉不常,自重自处,可保平安 吉带凶",
                "草木逢春,雨过天晴,渡过难关,即获成功 吉","盛衰参半,外祥内苦,先吉后凶,先凶后吉 吉带凶",
                "虽倾全力,难望成功,此数大凶,最好改名 凶","外观隆昌,内隐祸患,克服难关,开出泰运 吉带凶",
                "事与愿违,终难成功,欲速不达,有始有终 凶","努力经营,时来运转,旷野枯草,春来花开 吉",
                "半凶半吉,浮沉多端,始凶终吉,能保成功 凶带吉","遇事犹疑,难望成事,大刀阔斧,始可有成 凶",
                "黑暗无光,心迷意乱,出尔反尔,难定方针 凶","云遮半月,百隐风波,应自谨慎,始保平安 吉带凶",
                "烦闷懊恼,事事难展,自防灾祸,始免困境 凶","万物化育,繁荣之象,专心一意,始能成功 吉",
                "见异思迁,十九不成,徒劳无功,不如更名 凶","吉运自来,能享盛名,把握机会,必获成功 吉",
                "黑夜漫长,进退维谷,内外不合,信用缺乏 凶","时来运转,事事如意,功成名就,富贵自来 吉",
                "思虑周详,计划力行,不失先机,可望成功 吉","动摇不安,常陷逆境,不得时运,难得利润 凶",
                "惨淡经营,难免贫困,此数不吉,最好改名 凶","吉凶参半,惟赖勇气,贯彻力行,始可成功 吉带凶",
                "利害混集,凶多吉少,得而复失,难以安顺 凶","安乐自来,自然吉祥,力行不懈,终必成功 吉",
                "利不及费,坐食山空,如无智谋,难望成功 凶","吉中带凶,欲速不达,进不如守,可保安详 吉带凶",
                "此数大凶,破产之象,宜速改名,以避厄运 凶","先苦后甘,先甘后苦,如能守成,不致失败 吉带凶",
                "有得有失,华而不实,须防劫财,始保平安 吉带凶","如走夜路,前途无光,希望不大,劳而无功 凶",
                "得而复失,枉费心机,守成无贪,可保安稳 吉带凶","最极之数,还本归元,能得繁业,发达成功 吉",
                };

        // 根据获得命运数字,将其作为索引,获取相应的命运描述,并执行输出
        System.out.println(mingyun[nnum]);

        sc.close();
    }
}

你可能感兴趣的:(自学Java)