好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java基础题新手练习(三)

水仙花数

求出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基础练习题就到这里了,希望对你有所帮助,也希望您能够多多关注我们的更多内容!

原文链接:https://blog.csdn.net/qq_45859087/article/details/115470742

查看更多关于Java基础题新手练习(三)的详细内容...

  阅读:16次