JAVA编程题全集(50题及答案).docx
《JAVA编程题全集(50题及答案).docx》由会员分享,可在线阅读,更多相关《JAVA编程题全集(50题及答案).docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?这是一个菲波拉契数列问题public class lianxiOl public static void main(String args) (第 1 个月的兔子对数:I);(第 2 个月的兔子对数:1);int fl = l,f2= 1, f, M=24;for(int i=3; i=M: i+) f=f2;f2 = fl + f2;fl =f;System-out.printlnCM + i +”个月的兔子对数:+f2);【程序2】题
2、目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明 此数不是素数,反之是素数。public class lianxi02 public static void main(String args) int count = 0;for(int i=101;i200; i+=2) boolean b = false;for(int j=2; j=Math.sqrt(i): j+)if(i%j= o) b = false; break; else b = true; Iif(b = true) count +;
3、System.out.println(i);)(素数个数足:+ count);)【程序3】题目:打印出所有的“水仙花数,所谓“水仙花数”是指一个三位数,其各位数字立方和 等于该数本身。例如:153是一个”水仙花数,因为153=1的三次方+5的三次方+ 3的 三次方。public class lianxi03 public static void main(String args) int bl, b2, b3;【程序17题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一 个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩 下的一半零一个。
4、到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。public class Iianxil7 public static void main(String args) int x = 1;for(int i=2; i=10; i+) x = (x+l)*2;)(猴子第一天摘 了 + x + 个桃子);)【程序18题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决 定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序 找出三队赛手的名单。public class lianxi!8 static char m =
5、a, b, c ;staticcharn = x; y; z ;public static void main(String args) for (int i = 0; i m.length; i+) for (int j = 0; j n.length: j+) if (mi = a & njj - x) continue; else if (mi = a & nj = y) continue; else if (mi = c & nj = x)II (mi = *c & nU = *z) continue;| else if(mi = V & n(j = z) II (mil = b &
6、nj = y) continue; elseSystem.out.println(mi + vs + nj);)【程序19)题FI:打印出如下图案(菱形) *public class Iianxil9 public static void main(String args) intH = 7,W = 7力高和宽必须是相等的奇数for(int i=0; i(H+1)/2; i+) Mint j=0; jW/2-i;j+) Systcm.out.print();)for(int k= 1; k(i+1)*2: k+) System.out.print(*);)Systern.out.println
7、();)for(int i=l; i=H/2; i+) for(intj=l;j=i;j+) System.out.print();Ifor(int k=l; k=W-2*i; k+) Systeni.out.print(*);ISystcm.out.println();【程序20题目:有一分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13求出这个数列的前20项之和。public class lianxi20 public static void main(String args) int x = 2, y = 1, t;double sum = 0;for(int i=
8、l;i=20; i+) sum = sum + (double)x / y;t = y;y = x;x = y + t;ISystem.out.println(nHU 20 项相加之和是:+ sum);I【程序21题目:求1+2!求!+.+20!的和public class lianxi21 public static void main(String args) long sum = 0;long fac = 1;for(int i=l; i=20; i+) fac = fac * i;sum += fac;System.out.println(sum);【程序22题目:利用递归方法求5!。
9、public class Iianxi22 public static void main(String args) int n = 5;rcc fr = new rcc();Systein.ou(.println(n+! = +fr.rec(n);)class recpublic long rec(int n)(long value = 0 ;if(n =1 ) value = 1; else value = n * rec(n-l);return value;II【程序23题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数, 他说比第3个人大2岁。问第三个人,又
10、说比第2人大两岁。问第2个人,说比第一个人大 两岁。最后问第一个人,他说是10岁。请问第五个人多大?public class lianxi23 public static void main(String args) int age = 10;for(int i=2; i=0; i) System, out. print(chi);)【程序25题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与方位相同,十位与千 位相同。import java. util. *:public class lianxi25 public static void main(String args)
11、Scanner s = new Scanner(System, in); int a;doSystem. out. print(“请输入一个5位正整数:);a = s. nextlnt ();)while(a99999);String ss =String. valueOf(a); char ch = ss. toCharArray(); if (ch 0 =ch 4 &ch 1 =ch 3) System. out. print In (这是一个回文数”); else System, out. printing这不是一个回文数); 这个更好,不限位数 import java, util.*;
12、 public class lianxi25a public static void main(String args) Scanner s = new Scanner(System, in); boolean is =true;System. out. print (请输入一个正整数:); long a = s. nextLongO ;String ss = Long. toString(a);chart ch = ss. toCharArray();int j=ch. length;for(int i=0; ij/2; i+) if (chi!=chj-i-l)is=false;)if(i
13、s=true) System, out. printin(这是一个回文数); else (System, out. printin(这不是一个回文数”); )【程序26题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继 续判断第二个字母。import java. util. *:public class lianxi26 public static void main(String args) getChar tw = new getChar();System, out. println(请输入星期的第一个大写字母:); char ch = tw. getChar ()
14、;switch (ch) case M:System. out. printin(Monday);break;case W:System, out. print In(Wednesday);break;case F:System, out. printin(Friday);break;case T : System. out. print In (请输入星期的第二个字母:”);char ch2 = tw. getChar();if (ch2 = U) System, out. print In (wTuesday,/); else i f(ch2 = H) System, oul. print
15、 In(Thursday); else System. out. printin(无此写法!“);) ); break;case S : System, out. printin(请输入星期的第二个字母:”);char ch2 = tw. getChar();if(ch2 = U) System. out. print In(Sunday); else if(ch2 = A) System, out. printIn(Saturday); else System. out. print In (无此写法!“););break;default: System, out. print In (无此
16、写法!”);)class getCharpublic char getChar() Scanner s = new Scanner(System, in);String str = s. nextLineO ;char ch = str. charAt (0);if(chZ) System. out. printin(输入错误,请重新输入”);ch二getChar();)return ch;)【程序27题目:求100之内的素数使用除sqrt (n)的方法求出的素数不包括2和3public class lianxi27 public static void main(String args) b
17、oolean b =false;System, out. print(2 + ;System, out. print(3 + ;for(int i=3; i100; i+=2) for(int j=2; j=Math. sqrt(i); j+) if(i % j = 0) (b = false;break; elseb = true;)if(b = true) System. out. print(i + );)该程序使用除1位素数得2位方法,运行效率高通用性差。public class lianxi27a (public static void main(String args) int a
18、 = new int 2, 3, 5, 7;for(int j=0; j4; j+)System, out. print(aj + ; boolean b =false;for(int i=ll; i100; i+=2) for(int j=0; j4; j+) if(i % aj = 0) b = false;break; elsefb = true;)if(b = true) System. out. print(i + );)【程序28题目:对10个数进行排序import java, util.*;public class lianxi28 public static void main
19、(String args) Scanner s = new Secinner (System, in);int a = new int10;System. out. printin(”请输入 10 个整数:“);for(int i=0; i10; i+) ai = s. nextlnt();)for(int i=0; i10; i+) for(int j=i+l; j aj) int t = ai; ai = aj; aj = t;)for(int i=0; i10; i+) System. out. print(ai + “ );)【程序29题目:求一个3*3矩阵对角线元素之和import
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 编程 全集 50 答案
限制150内