疫情当前,大家要做好防护哦。

带好口罩了嘛?

每日一练,锻炼思维

题目链接

   

         

📝 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)

import java.util.Scanner;

public class Demo {
    /**
     * 1. 根据年龄, 来打印出当前年龄的人是
     * 少年(小于或等于18),
     * 青年(19-28),
     * 中年(29-55),
     * 老年(56及以上)
     */
    public static void main(String[] args) {

        Scanner src= new Scanner(System.in);
            int a = src.nextInt();
            if(a<=0 || a>=100){
                System.out.println("输入不合理!");
            }else if(a<=18)
            {
                System.out.println("少年");
            }
            else if (a>=19 && a<29)
            {
                System.out.println("青年");
            }
            else if (a>=29 && a<56)
            {
                System.out.println("中年");
            }
            else if (a>=56){
                System.out.println("老年");
        }
    }
}

      

📝 判定一个数字是否是素数

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner src = new Scanner(System.in);
        int a = src.nextInt();
        double q = Math.sqrt(a);
        boolean flag = false;

        if (a < 2) {
            flag = true;
        } else {
            for (int i = 2; i <= q; i++) {
                if (a % i != 0) {
                    flag = false;
                } else {
                    flag = true;
                    break;
                }
            }
        }

        if (flag) {
            System.out.println(a + "不是素数");
        } else {
            System.out.println(a + "是素数");
        }
    }
}

     

📝 打印 1 - 100 之间所有的素数

public class Demo {
    public static void main(String[] args) {
        //打印 1 - 100 之间所有的素数
            int i, j;
            for (i = 2; i <= 100; i++) {
                for (j = 2; j < i; j++) {
                    if (i % j == 0) { break;}
                }
                    if (j >= i) System.out.print(i+" ");
            }
        }
    }

       

📝 输出 1000 - 2000 之间所有的闰年

public class Demo {
    public static void main(String[] args) {
        //输出 1000 - 2000 之间所有的闰年
        for (int i = 1000; i < 2000; i++) {
            if (i % 4 == 0 && i % 100 !=0 || i % 400 == 0){
                System.out.print(i+" ");
            }
        }

    }
}

  

📝 输出乘法口诀表

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

     

📝 求两个正整数的最大公约数

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        //求两个正整数的最大公约数
        Scanner src=new Scanner(System.in);
        int m =src.nextInt();
        int n =src.nextInt();
        if(m<n){
            int temp = m;
            m = n ;
            n = temp;
        }
        while(m % n !=0){
            int Max = m % n;
            m = n;
            n = Max;
        }
        System.out.println(n);

    }
}

    

📝 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

public class Demo {
    //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
    public static void main(String[] args) {
        double sum = 0.0;
        int a =-1;
        for (int i =1; i < 101; i++) {
            a = -a;
            sum+=(1.0/i)*a;
        }
        System.out.println(sum);
    }
}

   

📝 编写程序数一下 1到 100 的所有整数中出现多少个数字9。

public class Demo {
    //编写程序数一下 1到 100 的所有整数中出现多少个数字9。
    public static void main(String[] args) {
        int value = 0;
        for (int i = 0; i <= 100; i++) {
            if (i < 10) {
                String a = i + "";

                if (a.equals("9")) {
                    value++;
                }

            } else if (i >= 10 && i < 100) {
                String a = (i % 10) + "";
                String b = (i / 10 % 10) + "";

                if (a.equals("9") || b.equals("9")) {
                    value++;
                }
            }
        }
        System.out.println(value);
    }
}

    

📝 求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1+5+3?,则153是一个“水仙花数”。)

public class Demo {
    public static void main(String[] args) {
        //求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本
        //身,如;153=1+5+3?,则153是一个“水仙花数”。)
        for (int i = 100; i < 1000; i++) {
            int a =i%10;
            int b =i/10%10;
            int c =i/100%10;
            if(a*a*a+b*b*b+c*c*c==i){
                System.out.println(i);
            }
        }
    }
}

      

📝 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序

import java.util.Scanner;
//编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输
//入,最多输入三次。三次均错,则提示退出程序
public class Demo {
    public static void main(String[] args) {
        Scanner src = new Scanner(System.in);
        int i=0;
        while(true){
            System.out.print("请输入密码:");
            String str = src.nextLine();
            if(str.equals("Nick")){
                System.out.println("登陆成功!");
                break;
            }else{
                System.out.println("密码错误");
                i++;
            }
            if (i==3){
                System.out.println("密码错误三次以上,退出程序!");
                break;
            }
        }
    }
}

        

📝 写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner src = new Scanner(System.in);
        int a=src.nextInt();
        int sum = a;
        int i =0;
        while (a>0){
            int temp = a%2;
            if(temp==1){
                i++;
            }
             a/=2;
        }
        System.out.println(sum+"的二进制有"+i+"个1");
    }
}

     

📝 获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int num = sc.nextInt();     //用户输入的整数

            System.out.print("奇数位:");
            //一个整数在计算机中4个字节共32个比特位,奇数位为1,3,5,7...31
            for (int i = 31; i >= 1; i-=2) {
                System.out.print(num>>i&1);  //通过位运算:右移,然后与1,可得到该位的值
            }

            //偶数位数字获取方式与奇数位同理
            System.out.print("偶数位:");

            for (int i = 30; i >=0 ; i-=2) {
                System.out.print(num>>i&1);
            }


    }
}

   

📝 输出一个整数的每一位

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        //输出一个整数的每一位。
        Scanner src= new Scanner(System.in);
        int n = src.nextInt();
        int sum=n;
        int h=0;
        while(n>0){
             n/=10;
            h++;
        }

        int length = h;
        for (int i = 1; i <=length; i++) {
                System.out.println("第"+i+"位:"+sum/(int)Math.pow(10,--h)%10);
        }
    }
}

   

📝 完成猜数字游戏

mport java.util.Random;
import java.util.Scanner;;
class Test {
    public static void main(String[] args) {
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100);
        // System.out.println("toGuess: " + toGuess); 
        while (true) {
            System.out.println("请输入要输入的数字: (1-100)");
            int num = sc.nextInt();
            if (num < toGuess) {
                System.out.println("低了");
            } else if (num > toGuess) {
                System.out.println("高了");
            } else {
                System.out.println("猜对了");
                break;
            }
        }
        sc.close();
    }
}