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; } } }
运行结果:
计算分数的值
计算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基础练习题就到这里了,希望对你有所帮助,也希望您能够多多关注我们的更多内容!
赞 (0)