Java基础题新手练习(三)
目录
- 水仙花数
- 源码
- 计算分数的值
- 源码
- 最大公约数
- 源码
- 二进制1的个数
- 源码
- 二进制序列
- 源码
- 模拟登陆
- 源码
- 输出一个整数的每一位
- 源码
- 输出乘法口诀表
- 源码
- 总结
水仙花数 求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1+5+3?,则153是一个“水仙花数“。)
源码
public staticvoid 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 doubleGetSum(){double sum= 0; int flag = 1; for (double i = 1; i<=100; i++) {sum+=(1/i)*flag; flag=-flag; }return sum; }
运行结果:
文章图片
最大公约数 求两个正整数的最大公约数
源码
public static voidGetgcd(int a,int b){int c= a%b; while(c!=0){a = b; //18b = c; //6c = a % b; }System.out.println(b+"是a和b的最大公约数"); }
运行结果:
文章图片
二进制1的个数 求一个整数,在内存当中存储时,二进制1的个数
源码
public staticintGetnum(int n){int count = 0; while(n!=0){if((n&1)!=0) {n = n >>> 1; count++; }}return count; }
运行结果:
文章图片
二进制序列 获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列
源码
publicstaticvoidgetBinnum(){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 staticvoid 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); intn= 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基础练习题就到这里了,希望对你有所帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- parallels|parallels desktop 解决网络初始化失败问题
- jhipster|jhipster 升级无效问题
- “精神病患者”的角度问题
- 画解算法(1.|画解算法:1. 两数之和)
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- 解决SpringBoot引用别的模块无法注入的问题
- java中如何实现重建二叉树