java经典程序例题

上传人:xzh****18 文档编号:46727546 上传时间:2018-06-27 格式:PDF 页数:29 大小:396.56KB
返回 下载 相关 举报
java经典程序例题_第1页
第1页 / 共29页
java经典程序例题_第2页
第2页 / 共29页
java经典程序例题_第3页
第3页 / 共29页
java经典程序例题_第4页
第4页 / 共29页
java经典程序例题_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《java经典程序例题》由会员分享,可在线阅读,更多相关《java经典程序例题(29页珍藏版)》请在金锄头文库上搜索。

1、【程序 1】 题目: 古典问题: 有一对兔子, 从出生后第 3 个月起每个月都生一对兔子, 小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21. public class exp2 public static void main(String args) int i=0; for(i=1;i k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你,重复执行第一步。 (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。 publi

2、c class exp2 public exp2() public void fengjie(int n) for(int i=2;i =90 分的同学用 A表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示。 1.程序分析:(a b)?a:b 这是条件运算符的基本例子。 import javax.swing.*; public class ex5 public static void main(String args) String str= “ “; str=JOptionPane.showInputDialog( “请输入 N 的值(输入 exit 退出) : “); i

3、nt N; N=0; try N=Integer.parseInt(str); catch(NumberFormatException e) e.printStackTrace(); str=(N 90? “A “:(N 60? “B “: “C “); System.out.println(str); 【程序 6】 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 最大公约数: public class CommonDivisor public static void main(String args) commonDivisor(24,32); s

4、tatic int commonDivisor(int M, int N) if(N 2)/*如果是闰年且月份大于 2,总天数应该加一天*/ sum+; System.out.println(“It is the the day:“+sum); 【程序 15】 题目:输入三个整数 x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x y 则将 x 与 y 的值进行交换,然后再用 x 与 z 进行比较,如果 x z 则将 x 与 z 的值进行交换,这样能使 x最小。 import java.util.*; public cl

5、ass test public static void main (Stringargs) int i=0; int j=0; int k=0; int x=0; System.out.print(“请输入三个数n“); Scanner input = new Scanner(System.in); i=input.nextInt(); j=input.nextInt(); k=input.nextInt(); if(ij) x=i; i=j; j=x; if(ik) x=i; i=k; k=x; if(jk) x=j; j=k; k=x; System.out.println(i+“, “+

6、j+“, “+k); 【程序 16】 题目:输出 9*9 口诀。 【程序 17】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃 了前一天剩下 的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天 共摘了多少。 1.程序分析:采取逆向思维的方法,从后往前推断。 public class 猴子吃桃 static int total(int day) if(day = 10) return 1; else return (total(day+1)+1)*2; public stat

7、ic void main(String args) System.out.println(total(1); 【程序 18】 题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出三队赛手的名单。 1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除, 则表 明此数不是素数,反之是素数。 import java.util.ArrayList; public class pingpang String a,b,c; pu

8、blic static void main(String args) String op = “x“, “y“, “z“ ; ArrayList arrayList=new ArrayList(); for (int i = 0; i 1) value = n * recursion(n-1); return value; 【程序 23】 题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问 第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大? 1.

9、程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10 岁) ,再往回推。 public class Ex23 static int getAge(int n) if (n=1) return 10; return 2 + getAge(n-1); public static void main(String args) System.out.println(“第五个的年龄为:“+getAge(5); 【程序 24】 题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 import java.

10、util.Scanner; public class Ex24 public static void main(String args) Ex24 tn = new Ex24(); Scanner s = new Scanner(System.in); long a = s.nextLong(); if(a 100000) System.out.println(“Error Input, please run this program Again“); System.exit(0); if(a =0 i-) System.out.print(chi); 【程序 25】 题目:一个 5 位数,判

11、断它是不是回文数。即 12321 是回文数,个位与万位 相同,十位与千位相同。 import java.util.Scanner; public class Ex25 static int a = new int5; static int b = new int5; public static void main(String args) boolean is =false; Scanner s = new Scanner(System.in); long l = s.nextLong(); if (l 99999 | l = 0; i-) ai = (int) (l / (long) Mat

12、h.pow(10, i); l =(l % ( long) Math.pow(10, i); System.out.println(); for(int i=0,j=0; isum/2) System.out.println(sum+“是素数“); 【程序 28】 题目:对 10 个数进行排序。 1.程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后 8 个进行比较,并进行交换。 import java.util.Arrays; import java.util.Random; import java.util.Scanner;

13、public class Ex28 public static void main(String args) int arr = new int11; Random r=new Random(); for(int i=0;imyarrk) temp=myarri; myarri=myarrk; myarrk=temp; System.out.println(“); for (int k=1;kmyarr11) temp=myarr11; for(int j=11;j=k+1;j-) myarrj=myarrj-1; myarrk=temp; System.out.println(“); for (int k=1;k=0;) for(int j=0;jarraysj+1) int temp=arraysj; a

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

当前位置:首页 > 行业资料 > 其它行业文档

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