50道JAVA基礎编程练习题全面解答.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
50道JAVA基礎编程练习题全面解答

50道JAVA基础编程练习题解答 本人尚属菜鸟,因此下面的解答有可能会出现错误,也可能使用的方法不够简便,希望指正。发现错误了,请QQ联系我,希望得到指正。 QQ:474027915 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? .程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 解答: (方法一) 利用数学分析可得知:这个月的兔子数量为前两个月的兔子数量之和,推导过程如下: X1,X2,X3 Y1,Y2,Y3 Z1,Z2,Z3 X1:表示一个月大的兔子;X2表示两个月大的兔子;X3表示三个月及三月以上的兔子。 有以下数学表达式: Y1=X2+X3 ,Y2=X1 ,Y3=X2+X3 Z1=Y2+Y3 ,Z2=Y1 ,Z3=Y2+Y3 Z1+Z2+Z3= Y2+Y3+Y1+(Y2+Y3)=(Y2+Y3+Y1)+(X2+X3+X1) 因此上面每个月的兔子的数量满足斐波那契数列。编程实现较为简单,此处省略。 (方法二) 方法二利用编程实现,具有一般性(开始兔子个数和产仔周期可自行输入),程序设计如下: import java.util.*; import java.io.*; class TuZi { int nianling=1; } public class Text1 { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub int shuliang=1; int zhouqi=4; int yuefen=0; VectorTuZi rongqi=new VectorTuZi(); System.out.print(输入兔子开始数量:); BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); shuliang=(new Integer(stdin.readLine())); System.out.print(输入兔子生产周期:); zhouqi=(new Integer(stdin.readLine())); System.out.print(输入查询月份:); yuefen=(new Integer(stdin.readLine())); for(int i=1;i=shuliang;i++) { rongqi.addElement(new TuZi()); } for(int i=2;i=yuefen;i++) { for(int j=0;jrongqi.size();j++) { TuZi a=(TuZi)rongqi.elementAt(j); a.nianling++; } for(int j=0;jrongqi.size();j++) { if(rongqi.elementAt(j).nianling=zhouqi) { rongqi.addElement(new TuZi()); } } } System.out.print(兔子数量为:+rongqi.size()); } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 解答: 程序如下: public class Text2 { public static void main(String[] args) { // TODO Auto-generated method stub int sum=0; System.out.print(101到200的素数是: ); for(int i=101;i=200;i++) { int flag=0; for(int j=2;j=Math.sqrt(i);j++) { float k=(float)i; if(k%j==0) { flag=1; break; } } if(flag==0) {

文档评论(0)

cv7c8hj6b4I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档