Java练习三

Java练习三

    • 水仙花数
    • 源码
    • 计算分数的值 。
    • 源码
    • 最大公约数
    • 源码
    • 二进制1的个数
    • 源码
    • 二进制序列
    • 源码
    • 模拟登陆
    • 源码
    • 输出一个整数的每一位
    • 源码
    • 输出乘法口诀表
    • 源码
    • 欢迎指正!

水仙花数

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

源码

public static  void GetDaffodil(){
     
    int j=0;
    int k=0;
    int l=0;
    for(int i=0;i<=999;i++){
     
        j=i/100;
        k=(i-j*100)/10;
        l=(i-j*100-k*10);
        if(j*j*j+k*k*k+l*l*l==i){
     
            System.out.println(i+"是水仙花数");
           // continue;
        }

    }
}

运行结果:
Java练习三_第1张图片

计算分数的值 。

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

源码

public static double  GetSum(){
     

    double sum= 0;
    int flag = 1;
    for (double i = 1;i<=100;i++) {
     

        sum+=(1/i)*flag;
        flag=-flag;
    }
   return sum;

}

运行结果:
Java练习三_第2张图片

最大公约数

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

源码

public static void  Getgcd(int a,int b){
     

    int c= a%b;
    while(c!=0){
     
        a = b;//18
        b = c;//6
        c = a % b;




    }

    System.out.println(b+"是a和b的最大公约数");

}

运行结果:
Java练习三_第3张图片

二进制1的个数

求一个整数,在内存当中存储时,二进制1的个数

源码

public static  int  Getnum(int n){
     
    int count = 0;
    while(n!=0){
     
       if((n&1)!=0) {
     
           n = n >>> 1;
           count++;

       }
    }
    return count;

}

运行结果:
Java练习三_第4张图片

二进制序列

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

源码

public  static  void  getBinnum(){
     
      Scanner sc= new Scanner(System.in);
        int num=sc.nextInt();
        System.out.print("odd sequence:");
        for(int i=30;i>=0;i-=2){
     
            System.out.print((num>>i)&1);
        }
        System.out.print("   even sequence:");
        for(int i=31;i>0;i-=2){
     
            System.out.print((num>>i)&1);
        }
        sc.close();
    }

运行结果:
Java练习三_第5张图片

模拟登陆

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

源码

public static  void GetPasswd(){
     


    int count = 3;
    while (count != 0) {
     
        Scanner scanner = new Scanner(System.in);
        String password = scanner.nextLine();
        if(password.equals("1234")) {
     
            System.out.println("登录成功!");
            break;
        }else {
     
            count--;
            System.out.println("还有"+count+"次机会!");
        }
    }

运行结果:
Java练习三_第6张图片

输出一个整数的每一位

输出一个整数的每一位,如:123的每一位是1 , 2 , 3

源码

public static void getdigit(){
     
    System.out.println("请输入三位数整数:");
    Scanner scanner = new Scanner(System.in);
    int  n= scanner.nextInt();
    int i=n/100;
    int j=(n-i*100)/10;
    int k=(n-i*100-j*10);
    System.out.println(n+"分解为"+i+" "+j+" "+k);
}

运行结果:
Java练习三_第7张图片

输出乘法口诀表

输出n*n的乘法口诀表,n由用户输入。

源码

public static void PrintMultiption1(){
     
    System.out.println("请输入n的值: ");
    Scanner scanner = new Scanner(System.in);
    int n =scanner.nextInt();
    for(int i= 1;i<=n;i++){
     
        for(int j=1;j<=n;j++){
     
            if(i<=j)
                System.out.print(i+"*"+j+"="+i*j+"  ");

        }
        System.out.println( );
    }



}

运行结果:
Java练习三_第8张图片

欢迎指正!

你可能感兴趣的:(Java,java,算法)