Java循环基础练习题

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


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

2:求100以内的所有素数。


public class Demo2 {
    /*
    * 求100以内的所有素数
    * (素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)
    * */
    public static void main(String[] args) {

        int i;
        int sum=0;
        //使用外部for循环获取2-100所有整数
        for(int number = 2; number <= 100; number++ ) {
            //使用内部for循环获取2-number本身的所有整数
            for( i = 2; i <= number; i++ ) {
                //在内部for循环内使用if选择结构,判断除数number能否被被除数i整除。
                if( number % i == 0 ) {
                    break;
                }
            }
            //在外部for循环内使用if选择结构,判断除数number与被除数i是否相等。如果相等,则输出素数。
            if( i == number ) {
                System.out.print(number+" ");
                sum+=number;

            }

        }
        System.out.println(sum);
    }
}

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

import java.util.Random;
import java.util.Scanner;

public class Demo3 {
/*
*     随机产生一个1-100之间的整数,看能几次猜中。
   要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”
* */
    public static void main(String[] args) {
        Random random = new Random();
        int anInt = random.nextInt(100)+1;
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i <=7; i++) {
            System.out.println("输入所猜的数");
            int anInt1 = scanner.nextInt();
            if(anInt1>anInt){
                System.out.println("猜大了");
            }
            else if(anInt1<anInt){
                System.out.println("猜小了");
            }
            else {
                System.out.println("猜对了");
            }
        }
        System.out.println("很遗憾,猜错了");
    }
}

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


public class Demo4 {
    /*
    * 写一个方法,此方法实现输出100-999之间的水仙花数
    *水仙花数的条件:三位数为abc,则满足:a3+b3+c3=abc
    * */
    public static void main(String[] args) {
        for (int i = 100; i <=999 ; i++) {
            int a=i%10;
            int b=i/10%10;
            int c=i/100;
            if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i){
                System.out.print(i+" ");
            }
        }
    }
}

5.输出小写的a-z以及大写的在Z—A。


public class Demo5 {
    /*
    * 输出小写的a-z以及大写的在Z—A
    *
    * */
    public static void main(String[] args) {
        for (char i ='a'; i <='z';i++) {
            System.out.print(i+" ");
        }
        System.out.println();
        for (char i='Z';i>='A';i--){
            System.out.print(i+" ");
        }
    }
}

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


public class Demo6 {
    /*
    * 求出1-3+5-7+9-…..101的和
    * */
    public static void main(String[] args) {
        int flag=1;
        int sum=0;
        for (int i = 1; i <=101;) {
            sum=sum+i*flag;
            flag=-flag;
            i+=2;
        }
        System.out.println("总和为:"+sum);
    }
}

7.求出1-1/2+1/3-1/4…..1/100的和。


public class Demo7 {
    /*
    * 求出1-1/2+1/3-1/4…..1/100的和
    * */
    public static void main(String[] args) {
        int flag=1;
        double sum=0;
        for (int i =1; i <=100 ; i++) {
            sum=sum+(1.0/i)*flag;
            flag=-flag;
        }
        System.out.println("和为:"+sum);
    }
    
}

8.输出20-80之间能被3整除的整数,每5个一行。

public class Demo8 {
    /*
    * 输出20-80之间能被3整除的整数,每5个一行
    * */
    public static void main(String[] args) {
        int lang=0;
        for (int i = 20; i <=80; i++) {
            if(i%3==0){
                System.out.print(i+" ");
                lang++;
                if(lang%5==0){
                    System.out.println();
                }

            }
        }
    }
}

9.打印出1000-2000年中所有的闰年,并以每行四个数的形式输出。

public class Demo9 {
    /*
    * 打印出1000-2000年中所有的闰年,并以每行四个数的形式输出
    * */
    public static void main(String[] args) {
         int flag=0;
        for (int i =1000;i <=2000; i++) {
            if(i%4==0&&i%100!=0||i%400==0){
                System.out.print(i+" ");
                flag++;
                if(flag%4==0){
                    System.out.println();
                }
            }
        }
    }
}

10.定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。

public class Demo10 {
    /*
    *
    * 定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。
    *  */
    public static void main(String[] args) {
        for (int i = 0; i <=9 ; i++) {
            for (int j = 0; j <=9 ; j++) {
                if(i+j==12){
                    System.out.println(i+"+"+j+"=12");
                }
            }
        }
    }
}

11.ABCD分别为0——9之间的整数,求出满足AB+CD=DA条件的数。

public class Demo11 {
    /*
    * A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。
    例如:90+09=99
    *
    * */
    public static void main(String[] args) {
        for (int i = 0; i <=9 ; i++) {
            for (int j = 0; j <=9; j++) {
                for (int k = 0; k <=9 ; k++) {
                    for (int l = 0; l <=9 ; l++) {
                         if((i*10+j)+(k*10+l)==(l*10+i)){
                             int a=i*10+j;
                             int b=k*10+l;
                             int c=l*10+i;
                             if (a==0&&b==0){
                                 System.out.println("0"+a+"+"+"0"+b+"="+c);
                             }
                            else if(a<10){
                                 System.out.println("0"+a+"+"+b+"="+c);
                             }
                            else if(b<10){
                                 System.out.println(a+"+"+"0"+b+"="+c);
                             }
                            else {
                                 System.out.println(a+"+"+b+"="+c);
                             }

                         }
                    }
                }
            }
        }
    }
}

12.输出九九乘法表。

public class Demo13 {
    /*
    * 输出九九乘法表
    * */
    public static void main(String[] args) {
        for (int i =1; i <=9; i++) {
            for (int j =1; j <=i; j++) {
                int sum=i*j;
                System.out.print(i+"*"+j+"="+sum+" ");
            }
            System.out.println();
        }
    }
}

13.求和:1/3+3/5+5/7+7/9+………..+97/99。

public class Demo25 {
    /*
    * 求和:1/3+3/5+5/7+7/9+………..+97/99
    * */

    public static void main(String[] args) {
       double sum=0;
        for (int i = 1; i <=97 ;) {
            sum+=i*1.0/(i+2);
            i+=2;
        }
        System.out.println("总和为:"+sum);
    }
}

14.输出100以内的所有素数,每行显示5个;并求和。

public class Demo26 {
    /*
    * 输出100以内的所有素数,每行显示5个;并求和
    * */
    public static void main(String[] args) {
        int sum=0;
        int j;
        int flag=0;
        for (int i = 1; i <=100 ; i++) {
            for ( j = 2; j <=i; j++) {
                if(i%j==0){
                    break;
                }
            }
            if(i==j){
                System.out.print(i+" ");
                flag++;
                if(flag%5==0){
                    System.out.println();
                }
              sum+=i;
            }
        }
        System.out.println("sum = " + sum);
    }
}

15.求两个整数的最大公约数和最小公倍数。

import java.util.Scanner;
public class Demo32 {
/*
* 求两个整数的最大公约数和最小公倍数
* */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int a=scanner.nextInt();
        System.out.println("请输入另一个整数");
        int b=scanner.nextInt();
        s(a,b);
        sum(a,b);
    }

//     最大公约数
    public  static  void  s(int a ,int b){
        while (b>0){
            int temp=a%b;
            a=b;
            b=temp;
        }
        System.out.println("最大公约数"+a);
    }
    //最小公倍数
    public  static void  sum(int a,int b){
        int max=0;
        if(a>b){
            max=a;
        }
        else {
            max=b;
        }

        while (true){
            if(max%a==0&&max%b==0){
                break;
            }
            max++;
        }
        System.out.println("最小公倍数"+max);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值