资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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;elsereturn 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;ik,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数n,重复执行第一步。(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。public class Prog4public static void main(String args)int n = 13;decompose(n);private static void decompose(int n)System.out.print(n+=);for(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(n 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)+个);【程序 8】题目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如2+22+222+2222+22222(此时共有 5 个数相加),几个数相加有键盘控制。 程序分析:关键是计算出每一项的值。import java.util.Scanner;public class Prog8public static void main(String args)System.out.print(求 s=a+aa+aaa+aaaa+.的值,请输入 a 的值:);Scanner scan = new Scanner(System.in).useDelimiter(s*);/以空格作为分隔符int a = scan.nextInt();int n = scan.nextInt();scan.close();/关闭扫描器System.out.println(expressed(2,5)+add(2,5); /求和表达式private static String expressed(int a,int n)StringBuffer sb = new StringBuffer();StringBuffer subSB = new StringBuffer();for(int i=1;i1000000)profit = profit_sub-1000000;profit_sub = 1000000;prize += profit*0.01;if(profit600000)profit = profit_sub-600000;profit_sub = 600000;prize += profit*0.015; if(profit400000)profit = profit_sub-400000;profit_sub = 400000;prize += profit*0.03;if(profit200000)profit = profit_sub-200000;profit_sub = 200000;prize += prize*0.05;if(profit100000)profit = profit_sub-100000;profit_sub = 100000;prize += profit*0.075;prize += profit_sub*0.1;return prize;【程序 13】题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后的结果满足如下条件,即是结果。public class Prog13public static void main(String args)int n=0;for(int i=0;iy 则将 x 与 y的值进行交换,然后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能使x 最小。import java.util.Scanner;public class Prog15public static void main(String args)Scanner scan = new Scanner(System.in).useDelimiter(D);System.out.print(请输入三个数:);int x = scan.nextInt();int y = scan.nextInt();int z = scan.nextInt();scan.close();System.out.println(排序结果:+sort(x,y,z);/比较两个数的大小private static String sort(int x,int y,int z)String s = null;if(xy)int t = x;x = y;y = t;if(xz)int t = x;x = z;z = t;if(yz)int t = z;z = y;y = t;s = x+ +y+ +z;return s;【程序 16】题目:输出 9*9 口诀。程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。public class Prog16public static void main(String args)for(int i=1;i0;i-)m = 2*m + 2;System.out.println(小猴子共摘了+m+桃子);【程序 18】题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出三队赛手的名单。 import java.util.ArrayList;public class Prog18String a,b,c;/甲队成员public static void main(String args)String racer = x,y,z;/乙队成员ArrayList arrayList = new ArrayList();for(int i=0;i=n-i & j=i & j99999)System.out.println(输入的不是 5 位数!);return;elsefor(int i=0;iaj+1)int temp = aj;aj = aj+1;aj+1 = temp;for(int i=0;iAj)int temp = min;min = Aj;Aj = temp;Bi = min;BA.length-1 = AA.length-1;return B;/打印private static void print(int A)for(int i=0;i0;i-)if(aAi)Bi+1 = a;for(int j=0;j1)if(isInindex)countNum+;if(countNum=3)countNum = 0;isInindex = false;inCount-;index+;if(index=n)index = 0;for(int i=0;i=1;i-)for(int j=0;j8)n /= 9;count+;System.out.println(l+能被+count+个 9 整除。);【程序 46】 题目:两个字符串连接程序public class Prog46public static void main(String args)String str1 = lao lee;String str2 = 牛刀;String str = str1+str2;System.out.println(str);【程序 47】题目:读取 7 个数(150)的整数值,每读取一个值,程序打印出该值个数的。import java.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号