Day12_02

一.循环结构与分支结构的嵌套练习

1.输入一个数,判断是不是素数(只能被1和自身整除的数)

import java.util.Scanner;
public class Text1 {
        public static int  sort(int count) {
        count = (count + 1) * 2;
        return count;
    }
    public static void main(String[] args) {
        
         Scanner input = new Scanner(System.in); System.out.println("请输入一个数");
         *int a =input.nextInt(); boolean isPrime=true; for(int i =2;i<a;i++){
         if(a%i==0){ isPrime=false; break; } } System.out.println(a
          +(isPrime?"是":"不是")+"素数"); input.close();
         

2.打印100以内的质数;

        for (int i = 1; i <= 100; i++) {
            boolean isPrime = true;
            for (int j = 2; j < Math.sqrt(i); j++) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }

            }
            if (isPrime) {
                System.out.println(i);
            }

        }

3.九九乘法表

        for(int i=1;i<=9;i++){
            for(int j=1;j<=i;j++){
                System.out.printf("%d*%d=%d\t",j,i,j*i);
            }
            System.out.println("");
        }

4.猴子吃桃问题

        int count = 1;
        for (int i = 1; i < 10; i++) {
            sort(count);
        }
        System.out.println(count);
        
    
    }
    
}

.穷举法案列:100块钱买一百只鸡

public class HomeWork1 {
    public static void main(String[] args) {

        for (int gj = 0; gj <= 20; gj++) {
            for (int mj = 0; mj <= 33; mj++) {
                int xj = 100 - gj - mj;
                if (5 * gj + 3 * mj + xj / 3 == 100 && (gj + mj + xj) == 100 && xj % 3 == 0) {
                    System.out.println("公鸡有 " + gj + "  母鸡有 " + mj + "  小鸡有 " + xj);
                }

            }
        }
    }
}

二.两个典型案列

1.Graps赌博游戏:

<1>我的代码
package comeDay12_01_2;

import java.util.Scanner;

public class Homework2 {
    public static void main(String[] args) {
        System.out.println("******************游戏规则**************************");
        System.out.println("**玩家总共1000分,每次赢加100分,每次输扣100分,平局分数不变**");
        System.out.println("**************************************************");
        System.out.println("准备好开始了吗,按\"1\"退出,其他任意键继续:");
        int fen = 200;
        int num = 0;
        int num1 = 0;

        Scanner input = new Scanner(System.in);
        String zb = input.nextLine();
        if (zb.equals("1")) {
            System.out.println("游戏结束,还剩" + fen + "分");
        } else {
            int a = (int) (Math.random() * 6 + 1);
            int b = (int) (Math.random() * 6 + 1);
            num = a + b;
            if (num == 7 || num == 11) {
                fen += 100;
                System.out.println("玩家胜利,摇出了" + num + "点,当前分数" + fen);
            } else if (num == 2 || num == 3 || num == 12) {
                fen -= 100;
                System.out.println("电脑胜利,摇出了" + num + "点,当前分数" + fen);
            } else {
                System.out.println("平局,摇出了" + num + "点,当前分数" + fen);
            }

            System.out.println("按\"1\"退出,其他任意键继续:");
            String zb1 = input.nextLine();
            if (zb1.equals("1")) {
                System.out.println("游戏结束");
            } else {
                do {
                    int a1 = (int) (Math.random() * 6 + 1);
                    int b1 = (int) (Math.random() * 6 + 1);

                    num1 = a1 + b1;

                    if (num == num1) {
                        fen += 100;
                        System.out.println("玩家胜利,摇出了" + num1 + "点,当前分数" + fen);
                    } else if (num1 == 7) {
                        fen -= 100;
                        System.out.println("电脑胜利,摇出了" + num1 + "点,当前分数" + fen);
                    } else {
                        System.out.println("平局,摇出了" + num1 + "点,当前分数" + fen);
                    }

                    System.out.println("按\"1\"退出,其他任意键继续:");
                    String zb2 = input.nextLine();
                    if (zb2.equals("1")) {
                        System.out.println("游戏结束");
                    } else {
                        int a2 = (int) (Math.random() * 6 + 1);
                        int b2 = (int) (Math.random() * 6 + 1);
                        a1 = a2;
                        b1 = b2;

                    }

                } while (fen > 0);
                System.err.println("你已经输完了!!!无法继续了!!!");
            }
        }
        input.close();

    }

}
<2>教师代码
  • switch case 结构中,case后面若不跟break,程序会继续执行下去,直到出现break为止
public class HomeWork__ {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int money = 1000;
        do {
            System.out.println("你还有"+money+"元!");
            
            int bet;
            
            do {
                
                System.out.println("请下注");
                bet=input.nextInt();
                
            } while (bet<=0||bet>money);
            
            int face1 = (int) (Math.random() * 6 + 1);
            int face2 = (int) (Math.random() * +1);
            int firsstPoint = face1 + face2;
            System.out.println("玩家摇出" + firsstPoint + "点");
            boolean needsGoOn = false;
            switch (firsstPoint) {
            case 7:
            case 11:
                System.out.println("玩家胜");
                money+=bet;
                break;
            case 2:
            case 3:
            case 12:
                System.out.println("庄家胜");
                money-=bet;
                break;
            default:
                needsGoOn = true;   
            }
            while (needsGoOn) {

                face1 = (int) (Math.random() * 6 + 1);
                face2 = (int) (Math.random() * 6 + 1);

                int currentPoint = face1 + face2;
                System.out.println("玩家摇出了" + currentPoint + "点");
                if (currentPoint == 7) {
                    System.out.println("庄家胜");
                    money-=bet;
                    needsGoOn = false;
                } else if (currentPoint == firsstPoint) {
                    System.out.println("玩家胜");
                    money+=bet;
                    needsGoOn = false;
                } 
            } 
            
        } while (money>0);
        System.out.println("你已经破产");
        input.close();
        
    }

2.输入年月日,输出这是这一年的第几天

  • 如果程序中出现了重复的或者相对独立的功能,那么应该将这些功能单独写到一个方法中
package comDay12_02_2;
import java.util.Scanner;
public class Text3 {
    // year作为因变量时,此方法需要返回一个判断是否为闰年的结果(是or不是),属于布尔类型;
                public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入年  月   日");
        int year = input.nextInt();
        int month = input.nextInt();
        int day = input.nextInt();
        int sum = 0;
        for (int i = 1; i < month; i++) {

            sum += daysOfMonth(year, i);
        }
        System.out.printf("有%d天", (sum + day));
        input.close();
    }
//isLeapYear方法判断输入的年份是否属于闰年
    public static boolean isLeapYear(int year) {

        return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;

    }
//daysOfMonth用于判断当前月份的天数
    public static int daysOfMonth(int year, int month) {

        if (month == 4 || month == 6 || month == 9 || month == 11) {

            return 30;
        } else if (month == 2) {
            if (isLeapYear(year)) {
                return 29;
            } else {
                return 28;
            }

        } else {
            return 31;
        }
    }
}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容