java基础编程练习题(50题及答案)2017

上传人:小** 文档编号:58827394 上传时间:2018-11-01 格式:DOC 页数:58 大小:268.50KB
返回 下载 相关 举报
java基础编程练习题(50题及答案)2017_第1页
第1页 / 共58页
java基础编程练习题(50题及答案)2017_第2页
第2页 / 共58页
java基础编程练习题(50题及答案)2017_第3页
第3页 / 共58页
java基础编程练习题(50题及答案)2017_第4页
第4页 / 共58页
java基础编程练习题(50题及答案)2017_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《java基础编程练习题(50题及答案)2017》由会员分享,可在线阅读,更多相关《java基础编程练习题(50题及答案)2017(58页珍藏版)》请在金锄头文库上搜索。

1、12017 年 Java 基础编程经典练习题 50 道【程序 1】 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? /这是一个菲波拉契数列问题public class lianxi01 public static void main(String args) System.out.println(“第 1 个月的兔子对数: 1“); System.out.println(“第 2 个月的兔子对数: 1“); int f1 = 1, f2 = 1, f, M=24;for(int i=3;

2、i k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 你 n,重复执行第一步。 (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。 import java.util.*; public class lianxi04 public static void main(String args) Scanner s = new Scanner(System.in);System.out.print( “请键入一个正整数: “); int n = s.nextInt();int k=2; System.out.print(n + “

3、=“ );while(k =90 分的同学用 A 表示,60-89 分之 间的用 B 表示,60 分以下的用 C 表示。 import java.util.*; public class lianxi05 public static void main(String args) int x;char grade;Scanner s = new Scanner(System.in);System.out.print( “请输入一个成绩: “); x = s.nextInt(); 3grade = x = 90 ? A: x = 60 ? B:C;System.out.println(“等级为:“

4、+grade); 【程序 6】 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 /*在循环中,只要除数不等于 0,用较大数除以较小的数,将小的一个数作为下一轮循环 的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为 0,返回 较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* / import java.util.*; public class lianxi06 public static void main(String args) int a ,b,m; Scanner s = new Scanner(System.in); Syste

5、m.out.print( “键入一个整数: “); a = s.nextInt(); System.out.print( “再键入一个整数: “); b = s.nextInt();deff cd = new deff();m = cd.deff(a,b);int n = a * b / m;System.out.println(“最大公约数: “ + m);System.out.println(“最小公倍数: “ + n); class deff public int deff(int x, int y) int t;if(x 0 System.out.println(“应该提取的奖金是 “

6、 + y + “万“); 【程序 13】 题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请 问该数是多少? public class lianxi13 public static void main(String args) for(int x =1; x 12 | day 31) System.out.println(“输入错误,请重新输入!“);e=1 ; while( e=1);for (int i=1; i y) int t = x;x = y;y = t;if(x z) int t = x;x = z;z = t;if(y z) int t

7、= y;y = z;z = t;System.out.println( “三个数字由小到大排列为: “+x + “ “ + y + “ “ + z); class input public int input() int value = 0;Scanner s = new Scanner(System.in);10value = s.nextInt();return value; 【程序 16】 题目:输出 9*9 口诀。 public class lianxi16 public static void main(String args) for(int i=1; i=0; i-) Syste

8、m.out.print(chi);14【程序 25】 题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与 千位相同。 import java.util.*; public class lianxi25 public static void main(String args) Scanner s = new Scanner(System.in);int a;doSystem.out.print(“请输入一个 5 位正整数:“);a = s.nextInt();while(a99999);String ss =String.valueOf(a);char c

9、h = ss.toCharArray();if(ch0=ch4else System.out.println(“这不是一个回文数“); /这个更好,不限位数import java.util.*; public class lianxi25a public static void main(String args) Scanner s = new Scanner(System.in);boolean is =true;System.out.print(“请输入一个正整数:“);long a = s.nextLong();String ss = Long.toString(a);char ch =

10、 ss.toCharArray();int j=ch.length;for(int i=0; iZ) System.out.println(“输入错误,请重新输入“);ch=getChar();16return ch; 【程序 27】 题目:求 100 之内的素数 /使用除 sqrt(n)的方法求出的素数不包括 2 和 3public class lianxi27 public static void main(String args) boolean b =false;System.out.print(2 + “ “);System.out.print(3 + “ “);for(int i=

11、3; i aj) int t = ai;ai = aj;aj = t;for(int i=0; i= aa.length-1) bb.length-1 = num;for(i=0; i= ai) bi = ai; else bi = num;break;for(int j=i+1; j=0; j=j-1) System.out.print(aj+“ “); 【程序32】 题目:取一个整数a从右端开始的47位。 import java.util.*; public class lianxi32 public static void main(String args) Scanner s = ne

12、w Scanner(System.in);System.out.print(“请输入一个7位以上的正整数:“);long a = s.nextLong();String ss = Long.toString(a);char ch = ss.toCharArray();int j=ch.length;if (j max) max = ai; idx1 = i; 22/ 找出最大的数和其下标 if (ai =m; i-) ai = ai-m;for(int i=0; i 1) if(arrindex = true) countNum +; if(countNum = 3) countNum =0;

13、arrindex = false;leftCount -;index +;if(index = n) index = 0;24for(int i=0; i s2.charAt(i) result = false;break; else if(s1.charAt(i) =100) System.out.println (“809*“+i+“=“+“800*“+i+“+“+“9*“+i+“=“+b); 27 【程序 43】 题目:求 07 所能组成的奇数个数。 /组成 1 位数是 4 个。 /组成 2 位数是 7*4 个。 /组成 3 位数是 7*8*4 个。 /组成 4 位数是 7*8*8*4

14、个。/ public class lianxi43 public static void main (String args) int sum=4; int j; System.out.println(“组成 1 位数是 “+sum+“ 个“);sum=sum*7; System.out.println(“组成 2 位数是 “+sum+“ 个“);for(j=3;j=6 偶数,不是,重新输入fun fc = new fun();for(i=2;i=6 偶数,不是,重新输入for(int i=3;i50);for(int i=1;i9999); int a=new int4; a0 = num/

15、1000; /取千位的数字 a1 = (num/100)%10; /取百位的数字 a2 = (num/10)%10; /取十位的数字 a3 = num%10; /取个位的数字 for(int j=0;j amiddle) left = middle + 1; else right = middle - 1;34 return -1; public static void main(String args) int a = 0, 1, 3, 6, 7, 10, 21, 34, 36, 40, 76 ; int x = 34;/ 设定要查找的数 int position = binarySearch(a, x); System.out.println(x + “在数组中的位置是“ + position); 2、 比较器 二分查找import java.util.TreeSet; import java.util.Iterator;publ

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号