版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语⾔程序设计(第3版)沈泽刚主编第5章课后习题答案Java语⾔程序设计(第3版)沈泽刚主编第5章课后习题答案importScannerimportScanner;/***5.15个整数,存到⼀个数组,计算所有元素的最⼤值,最⼩值和平均值。*/publicclassIntArray{publicstaticvoidmain(String[]args){System.out.print("键盘输⼊5个整数:");Scannerinput=newScanner(System.in);int[]num=newint[5];intsum=0;intmax=Integer.MIN_VALUE;intmin=Integer.MAX_VALUE;for(inti=0;i<num.length;i++){num[i]=input.nextInt();}for(inti=0;i<num.length;i++){if(max<=num[i]){max=num[i];}if(min>=num[i]){min=num[i];}sum+=num[i];}System.out.println("max.out.println("minSystem.out.println("(1.0*sum/num.length}}1publicclassRandomTest{publicstaticvoidmain(String[]args){t3=wt[6];/int[]num4=newint[6];for(intk=0;k<100;k++){intr=(int)(Math.random()*6)+1;switch(r){case1:num3[0]++;break;case2:num3[1]++;break;case3:num3[2]++;break;case4:num3[3]++;break;case5:num3[4]++;break;case6:num3[5]++;break;}}for(intm=0;m<1000;m++){intr=(int)(Math.random()*6)+1;switch(r){case1:num4[0]++;break;case2:num4[1]++;break;case3:num4[2]++;break;case4:num4[3]++;break;case5:num4[4]++;break;case6:num4[5]++;break;}}System.out.print("100个整数中,1~6出现的次数分别为:");for(intk=0;k<num3.length;k++){System.out.print(num3[k]+"");}System.out.println();System.out.print("1000个整数中,1~6出现的次数分别为:");for(intk=0;k<num3.length;k++){System.out.print(num4[k]+"");}}}编写⼀个⽅法,求⼀个double型数组的最⼩值。importimportScanner;/***5.3double型数组的最⼩值。*/publicclassArrayDemo{publicstaticDoublemin(double[]array){doublemin=Double.MAX_VALUE;for(inti=0;i<array.length;i++){if(min>=array[i]){min=array[i];}}returnmin;}publicstaticvoidmain(String[]args){double[]array=newdouble[5];ScannerinputnewScanner(System.in.out.print("请输⼊5个double型的数字:"i<array.lengthi++){array[i]=input.nextDouble();}System.out.println("min(array}}定义⼀个有10个元素的数组,前5个元素与后5个元素交换,第1个与第10个交换,依次类推。publicclasspublicclassArrayChange{publicstaticvoidmain(String[]args){int[]array={1,2,3,4,5,6,7,8,9,10};for(intarr:array){System.out.print(arr+"");}System.out.println();for(inti=0;i<array.length/2;i++){inttemp=array[i];array[i]=array[array.length-1-i];array[array.length-1-i]=temp;}for(intarr1:array){System.out.print(arr1+"");}}}定义⼀个含有8个元素的数组,选择排序进⾏升序排序。publicclasspublicclassArraySort{publicstaticvoidmain(String[]args){int[]array={2,1,4,3,5,6,8,7};for(inti=0;i<array.length;i++){intkey=array[i];for(intj=i+1;j<array.length;j++){if(key>array[j]){inttemp=key;key=array[j];array[j]=temp;}}array[i]=key;}for(intarr:array){System.out.print(arr+"");}}}编程打印斐波那契数列的前20个数字。publicclasspublicclassFibonacci{publicstaticvoidmain(String[]args){int[]f=newint[20];f[0]=1;f[1]=1;for(inti=2;i<f.length;i++){f[i]=f[i-1]+f[i-2];}for(intf1:f){System.out.print(f1+"");}}}importArraysimportArrays;/***5.7编写⼀个⽅法,计算两个数组之和。*/publicclassSumArray{publicstaticint[]sumArray(int[]a,int[]b){intlength=Math.max(a.length,b.length);a=Arrays.copyOf(a,length);b=Arrays.copyOf(b,length);int[]r=newint[length];for(inti=0;i<length;i++){r[i]=a[i]+b[i];}returnr;}publicstaticvoidmain(String[]args){int[]a={1,2,4};int[]b={2,4,6,8};int[]c=sumArray(a,b);for(intd:c){System.out.print(d+"");}}}importArraysimportArrays;/***5.8编写⽅法,合并两个数组,并按升序返回合并后的数组。*/publicclassArrayMerge{publicstaticint[]arrayMerge(int[]a,int[]b){int[]array=newint[a.length+b.length];for(inti=0;i<a.length;i++){array[i]=a[i];}for(intj=array.length-a.length-3,k=0;j<array.length;j++,k++){array[j]=b[k];}Arrays.sort(array);returnarray;}publicstaticvoidmain(String[]args){int[]a={16,13,15,18};int[]b={9,13,15,16,29,36,100};int[]array=arrayMerge(a,b);for(intarr:array){System.out.print(arr+"");}}}importScannerimportScanner;/***5.9编写程序,使⽤⽅法求解⼀元⼆次⽅程根的个数。*/publicclassSolveQuadratic{publicstaticintsolveQuadratic(double[]eqn,double[]roots){doublediscriminant=(eqn[1]*eqn[1])-(4*eqn[0]*eqn[2]);if(discriminant>0){roots[0]=((-eqn[1])+Math.sqrt(discriminant))/(2*eqn[0]);roots[1]=((-eqn[1])-Math.sqrt(discriminant))/(2*eqn[0]);return2;}elseif(discriminant==0){roots[0]=(-eqn[1])/(2*eqn[0]);roots[1]=(-eqn[1])/(2*eqn[0]);return1;}else{return0;}}publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("请输⼊⼀元⼆次⽅程的系数:a,b,c:");double[]roots=newdouble[2];double[]eqn=newdouble[3];for(inti=0;i<eqn.length;i++){eqn[i]=input.nextDouble();}System.out.println("⼀元⼆次⽅程有"+solveQuadratic(eqn,roots)+"个根");}}编写程序,筛选出2~100的所有素数。publicclasspublicclassPrimeNumber{publicstaticbooleanisPrime(intn){for(inti=2;i<n;i++){if(n%i==0){returnfalse;}}returntrue;}publicstaticvoidmain(String[]args){for(inti=2;i<=100;i++){if(isPrime(i)){System.out.print(i+"");}}}}编写程序,List1和list2数组长度相同,判断数组list1和list2是否完全相同publicclasspublicclassequals{publicstaticbooleanequals(int[]list1,int[]list2){for(inti=0;i<list1.length;i++){if(list1[i]!=list2[i]){returnfalse;}}returntrue;}publicstaticvoidmain(String[]args){int[]list1={1,2,3,4,5};int[]list2={1,2,3,4,5};int[]list3={1,2,4,3,5};System.out.println(equals(list1,list2));System.out.println(equals(list1,list3));}}编写求解约瑟夫问题。有12个⼈排成⼀圈,从1号开始报数,数到5的⼈就离开,然后继续报数,试问最后剩下的⼀个⼈是谁?publicclasspublicclassJosephus{publicstaticvoidmain(String[]args){int[]array=newint[12];for(inti=0;i<array.length;i++){array[i]=i+1;}intn=0;intcount=0;while(true){for(inti=0;i<array.length;i++){if(array[i]!=0){n++;if(n%5==0){System.out.println(array[i]+"离开!");array[i]=0;count++;}}}if(count==11){break;}}for(intj=0;j<array.length;j++){if(array[j]!=0){System.out.println(array[j]);}}}}publicclasspublicclassTwentyFour{publicstaticvoidmain(String[]args){int[]cards=newint[52];for(inti=0;i<cards.length;i++){cards[i]=i;}intsum=0,count=0while(sum!=24){for(inti=0;i<4;i++){intj=(int)(Math.random()*52);inttemp=cards[i];cards[i]=cards[j]cards[j]=temp;}sum=0;for(inti=0;i<4;i++){sum+=cards[i];}count++;}System.out.println(sum);System.out.println("count}}importimportimportScanner;Stack;/***5.14编写程序,提⽰⽤户从键盘输⼊⼀个整数,然后使⽤栈以降序输出该数的最⼩因⼦。*/publicclassUseOfStack{publicstaticvoidmain(String[]args){ScannerinputnewScanner(System.instacknew.out.print("intn=input.nextInt();intvalue=n;for(inti=2;i<n;i++){if(value%i==0){stack.push(i);value=value/ii--;}}while(!stack.isEmpty()){System.out.println(stack.pop());}}}计算两个矩阵A,B的和,差,转置。publicclassMatrixDemo{publicstaticvoidmain(String[]args){int[][]A={{1,3,5},{-3,6,0},{13,-5,7},{-2,19,25}};int[][]B={{0,-1,-2},{7,-1,6},{-6,13,2},{12,-8,-13}};int[][]sum=newint[4][3];int[][]sub=newint[4][3];int[][]tran=newint[3][4];for(inti=0;i<A.length;i++){for(intj=0;j<A[0].length;j++){sum[i][j]=A[i][j]+B[i][j];sub[i][j]=A[i][j]-B[i][j];}}for(inti=0;i<A.length;i++){for(intj=0;j<A[0].length;j++){System.out.print(sum[i][j]+"");}System.out.println();}for(inti=0;i<A.length;i++){for(intj=0;j<A[0].length;j++){System.out.print(sub[i][j]+"");}System.out.println();}for(inti=0;i<tran.length;i++){for(intj=0;j<tran[0]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舌根囊肿手术护理常规
- 糖尿病的护理及预防
- 儿童支气管哮喘急救护理
- 2026事业单位工勤技能-上海-上海假肢制作装配工二级(技师)历年参考题库含答案详解
- 2026主任医师(正高)-肿瘤内科学(正高)029历年题库含答案详解
- 2026临床医学期末复习-生物化学(本科临床教改专业)历年题库含答案详解
- 2026中西医结合执业医师-第三单元考试历年参考题库含答案详解
- 2026中式烹调师职业资格考试(技师/二级)历年参考题库含答案详解
- 2026业余无线电台操作技术能力验证考试(B类)历年参考题库含答案详解
- 2026一级造价工程师-案例分析(土建与安装)考试历年参考题库含答案详解
- 2026-2027学年高三第一次联考(月考)试卷地理+答案
- T/CI 874-2025红树林精准生态修复与成效评估技术规程
- 湖南九校联盟2027届高三上学期第一次联考化学(含答案)
- 第12课 历史性成就 第1课时 课件(内嵌视频)2026-2027学年道德与法治五年级上册统编版
- 医疗机构麻醉药品和精神药品管理规定2026解读
- 【新教材】2026年秋人教版(PEP)五年级上册英语全册教案(含教学计划)
- 2026秋教科版(新教材)小学科学六年级上册(全册)分层作业及答案附目录p149
- 2026年北京朝阳区高三二模语文试卷答案讲评课件
- 知识产权管理体系
- 《思想道德与法治》课件-第一节 人生观是对人生的总的看法
- 盾构标准化施工手册
评论
0/150
提交评论