java循环学习(例题)

发布于:2022-12-27 ⋅ 阅读:(478) ⋅ 点赞:(0)

1.求10以内的偶数的和。

    public static void main(String[] args) {
        int sum=0;
        for (int i=0;i<=10;i++){
            if(i%2==0){
            sum+=i;
            }
        }
        System.out.println("10以内的偶数和"+sum);
    }

运行结果:

2.求100以内的所有素数及素数和。

    //(素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)
    public static void main(String[] args) {
        int sum=0;
        int su=0;

        for (int i=2;i<=100;i++){
            int q=0;
            for (int j=2;j<i;j++){
                if (i%j==0){
                    q+=1;
                    continue;
                }
            }
            if (q==0){
                System.out.println(i);
            sum+=i;
            }
        }
        System.out.println("100以内的素数和"+sum);
    }

运行结果:

3.随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。

    public static void main(String[] args) {
        int not=(int) (Math.random()*(100-1)+1);
        System.out.println(not);
        Scanner sc=new Scanner(System.in);
        for (int i=0;i<7;i++){
            System.out.print("猜一个数:");
            int num= sc.nextInt();

            if (num==not){
                System.out.println("恭喜你,猜对了");
                break;
            } else if (num>not) {
                System.out.println("大了");
            }else {
                System.out.println("小了");
            }
        }
    }

运算结果:

4.写一个方法,此方法实现输出100-999之间的水仙花数。

    public static void main(String[] args) {
        System.out.println("1000以内的水仙花数有:");
        for (int i=100;i<1000;i++){
            int ge=i%10;
            int shi=i/10%10;
            int bai=i/100;
            if (Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3)==i){
                System.out.println(i);
            }
        }
    }

 运行结果:

5.求出1-3+5-7+9-…..101的和

    public static void main(String[] args) {
        int accont=0;
        int sum=0;
        for (int i=1;i<102;i+=2){
            accont++;
            if (accont%2!=0){
                sum+=i;
            }else {
                sum-=i;
            }
        }
        System.out.println(sum);
    }

运行结果:

6.A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。

例如:90+09=99

    public static void main(String[] args) {
        int AB = 0;
        int CD = 0;
        int DA=0;
        for (int A = 0; A <= 9; A++) {
            for (int B = 0; B <= 9; B++) {
                AB = A * 10 + B;
                for (int C = 0; C <= 9; C++) {
                    for (int D = 0; D <= 9; D++) {
                        CD = C * 10 + D;
                        DA=D*10+A;
                        if (AB+CD==DA) {
                            System.out.println(A + "" + B + "+" + C + "" + D + "=" + D + "" + A);
                        }
                    }
                }
            }
        }
    }

运行结果:

7.随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

    public static void main(String[] args) {
        int not=(int)(Math.random()*(10000-0));
        int s=0;
        System.out.println(not);
        if (not/1000!=0){

            s=4;
        }else if (not/100!=0){

            s=3;
        } else if (not/10==0) {

            s=2;
        }else {

            s=1;
        }
        int ge=not%10;
        int shi=not/10%10;
        int bai=not/100%10;
        int qian=not/1000;

        switch (s){
            case 1:
                System.out.println("该数为1位数");
                System.out.println("个位数为:"+ge);
                break;
            case 2:
                System.out.println("该数为2位数");
                System.out.println("个位数为:"+ge+" 十位数为:"+shi);
                break;
            case 3:
                System.out.println("该数为3位数");
                System.out.println("个位数为:"+ge+" 十位数为:"+shi+" 百位数为:"+bai);
                break;
            case 4:
                System.out.println("该数为4位数");
                System.out.println("个位数为:"+ge+" 十位数为:"+shi+" 百位数为:"+bai+" 千位数为:"+qian);
                break;
        }
    }

运行结果:

 8.实现双色球的彩票功能。

规则:从36个红球中随机选择不重复的6个数,从15个篮球中随机选择1个组成中奖号码。

用户再选择1个15内的数和6个36内的数组成一组彩票,之后与中奖号码对比,如果相同,则输出

"恭喜你中奖了",否则输出"很抱歉,你没有中奖"。

      public static void main(String[] args) {
        int[] a = new int[6];
        int[] b = new int[6];
        boolean pd = false;
        int copy = 0;
        for (int i = 0; i < 6; i++) {
            a[i] = (int) (Math.random() * (36 - 1) + 1);
            pd = true;
            while (pd) {
                if (i == 0) {
                    pd = false;
                } else {
                    for (int j = 0; j < i; j++) {
                        if (a[j] == a[i]) {
                            pd = true;                    
                            break;
                        } else {
                            pd = false;
                        }
                        a[i] = (int) (Math.random() * (36 - 1) + 1);
                    }
                }

            }

        }
        for (int k = 0; k < a.length; k++) {
            System.out.print(a[k] + " ");
        }

        for (int i = 0; i < b.length; i++) {
            Scanner sc = new Scanner(System.in);
            b[i] = sc.nextInt();
            pd = true;
            while (pd) {
                if (i == 0) {
                    pd = false;
                }
                for (int j = 0; j < i; j++) {
                    if (b[j] == b[i]) {
                        pd = true;
                        break;
                    } else {
                        pd = false;
                    }
                    System.out.println("数字重复,请重新输入一个数");
                    b[i] = sc.nextInt();
                }
            }
        }
        for (int k = 0; k < a.length; k++) {
            System.out.print(b[k] + " ");
        }
        for (int i = 0; i < 7; i++) {
            if (a[i] == b[i]) {
                copy++;
            }
        }
        if (copy == 6) {
            System.out.println("恭喜你中奖了");
        } else {
            System.out.println("很抱歉,你没有中奖");
        }
    }

运行结果

 


网站公告

今日签到

点亮在社区的每一天
去签到