您的位置:首页 > 教程文章 > 编程开发

Java基础题新手练习(三)

:0 :2021-10-27 22:56:54

目录
水仙花数
源码
计算分数的值
源码
最大公约数
源码
二进制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;
        }
    }
}
运行结果:
计算分数的值
计算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;
}
运行结果:
最大公约数
求两个正整数的最大公约数
源码
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的最大公约数");
}
运行结果:
二进制1的个数
求一个整数,在内存当中存储时,二进制1的个数
源码
public static  int  Getnum(int n){
    int count = 0;
    while(n!=0){
       if((n&1)!=0) {
           n = n >>> 1;
           count++;
       }
    }
    return count;
}
运行结果:
二进制序列
获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列
源码
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();
    }
运行结果:
模拟登陆
编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序
源码
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+"次机会!");
        }
    }
运行结果:
输出一个整数的每一位
输出一个整数的每一位,如: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);
}
运行结果:
输出乘法口诀表
输出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基础练习题就到这里了,希望对你有所帮助,也希望您能够多多关注无名的更多内容!

Java异常 Factory method'sqlSessionFactory'rew exception;ested exception is java.lang.NoSuchM
java多线程join()方法的作用和实现原理解析(应用场景)