




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
50道JAVA基础编程练习题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21. public class Prog1public static void main(String args)int n = 10;System.out.println(第+n+个月兔子总数为+fun(n);private static int fun(int n)if(n=1 | n=2) return 1;else return fun(n-1)+fun(n-2);【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。public class Prog2public static void main(String args)int m = 1;int n = 1000;int count = 0;/统计素数个数for(int i=m;in;i+)if(isPrime(i)count+;System.out.print(i+ );if(count%10=0)System.out.println();System.out.println();System.out.println(在+m+和+n+之间共有+count+个素数);/判断素数private static boolean isPrime(int n)boolean flag = true;if(n=1) flag = false;elsefor(int i=2;i=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:(ab)?a:b这是条件运算符的基本例子。 public class Prog5public static void main(String args)int n = -1;tryn = Integer.parseInt(args0);catch(ArrayIndexOutOfBoundsException e)System.out.println(请输入成绩);return;grade(n);/成绩等级计算private static void grade(int n)if(n100 | n=90)?分,属于A等:(n60)?分,属于B等:分,属于C等); System.out.println(n+str);【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:利用辗除法。public class Prog6public static void main(String args)int m,n;trym = Integer.parseInt(args0);n = Integer.parseInt(args1);catch(ArrayIndexOutOfBoundsException e)System.out.println(输入有误);return;max_min(m,n);/求最大公约数和最小公倍数private static void max_min(int m, int n)int temp = 1;int yshu = 1;int bshu = m*n;if(nm)temp = n;n = m;m = temp;while(m!=0)temp = n%m;n = m;m = temp;yshu = n;bshu /= n;System.out.println(m+和+n+的最大公约数为+yshu);System.out.println(m+和+n+的最小公倍数为+bshu);import java.util.*;public class Prog7_2public static void main(String args) System.out.println(请输入一行字符:); Scanner scan = new Scanner(System.in); String str = scan.nextLine(); scan.close(); count(str);/统计输入的字符private static void count(String str)List list = new ArrayList();char array_Char = str.toCharArray();for(char c:array_Char) list.add(String.valueOf(c);/将字符作为字符串添加到list表中Collections.sort(list);/排序for(String s:list)int begin = list.indexOf(s);int end = list.lastIndexOf(s);/索引结束统计字符数if(list.get(end)=s) System.out.println(字符+s+有+(end-begin+1)+个);【程序16】题目:输出9*9口诀。程序分析:分行与列考虑,共9行9列,i控制行,j控制列。public class Prog16public static void main(String args)for(int i=1;i10;i+)for(int j=1;ji+1;j+)System.out.print(j+*+i+=+(j*i)+ );System.out.println();【程序21】题目:求1+2!+3!+.+20!的和 程序分析:此程序只是把累加变成了累乘。public class Prog21public static void main(String args)long sum = 0;for(int i=0;i20;i+) sum += factorial(i+1);System.out.println(sum);/阶乘private static long factorial(int n)int mult = 1;for(int i=1;in+1;i+) mult *= i;return mult;【程序22】题目:利用递归方法求5!。程序分析:递归公式:fn=fn_1*4!public class Prog22public static void main(String args)System.out.println(fact(10);/递归求阶乘private static long fact(int n)if(n=1) return 1;else return fact(n-1)*n;【程序27】题目:求100之内的素数public class Prog27public static void main(String args)int n = 100;System.out.print(n+以内的素数:);for(int i=2;in+1;i+)if(isPrime(i) System.out.print(i+ );/求素数private static boolean isPrime(int n)boolean flag = true;for(int i=2;iMath.sqrt(n)+1;i+)if(n%i=0) flag = false; break;return flag;【程序28】题目:对10个数进行排序程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。public class Prog28public static void main(String args)int a = new int31,42,21,50,12,60,81,74,101,93;for(int i=0;i10;i+)for(int j=0;jaj+1)int temp = aj;aj = aj+1;aj+1 = temp;for(int i=0;ia.length;i+) System.out.print(ai+ );【程序31】题目:将一个数组逆序输出。程序分析:用第一个与最后一个交换。public class Prog31public static void main(String args)int A = new int1,2,3,4,5,6,7,8,9,;print(A);System.out.println();int B = reverse(A);print(B);private static int reverse(int A)for(int i=0;iA.length/2;i+)int temp = AA.length-i-1;AA.length-i-1 = Ai;Ai = temp;return A;private static void print(int A)for(int i=0;iA.length;i+) System.out.print(Ai+ );【程序34】题目:输入3个数a,b,c,按大小顺序输出。程序分析:利用指针方法。import java.util.Scanner;public class Prog34public static void main(String args)System.out.print(请输入3个数:);Scanner scan = new Scanner(System.in).useDelimiter(s);int a = scan.nextInt();int b = scan.nextInt();int c = scan.nextInt();scan.close();if(ab)int t = a;a = b;b = t;if(ac)int t = a;a = c;c = t;if(bc)int t = b;b = c;c = t;System.out.println(a+ +b+ +c);【程序35】题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。import java.util.Scanner;public class Prog35public static void main(String args)System.out.print(请输入一组数:);Scanner scan = new Scanner(System.in).useDelimiter(s);int a = new int50;int m = 0;while(scan.hasNextInt()am+ = scan.nextInt();scan.close();int b = new intm;for(int i=0;im;i+) bi = ai;for(int i=0;ib.length;i+)for(int j=0;jb.length-i-1;j+)if(bjbj+1)int temp = bj;bj = bj+1;bj+1 = temp;for(int i=0;i=1;i-)for(int j=0;j=i-1;j+)if(pareTo(strj+1)0)String temp =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门面租赁合同修复协议书
- 长租公寓租赁合同协议书
- 防护网工程销售合同范本
- 法人替公司还款合同范本
- 消防项目安全施工协议书
- 瑕疵生态板出售合同范本
- 物流人力合作合同协议书
- 销售咨询服务合同协议书
- 用于工作安置的合同协议
- 电梯门框安装合同协议书
- GB/T 29529-2013泵的噪声测量与评价方法
- GB/T 1591-2018低合金高强度结构钢
- D类《职业能力倾向测试》考试试题及答案
- 10000中国普通人名大全
- ISO9001:2015中英文对照版
- 眼部化妆技巧课件
- 置业顾问基础知识培训(最新版)
- TSG-Z7003-2004 特种设备检验检测机构质量管理体系要求-高清正版
- 汽车VIN效验码计算器
- 德州寺北35千伏输变电工程节地评价报告
- 用友NC财务信息系统操作手册(全)
评论
0/150
提交评论