tts8.0课件课后练习代码-01.java基础经典案例_第1页
tts8.0课件课后练习代码-01.java基础经典案例_第2页
tts8.0课件课后练习代码-01.java基础经典案例_第3页
tts8.0课件课后练习代码-01.java基础经典案例_第4页
tts8.0课件课后练习代码-01.java基础经典案例_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

if(n==sum)System.out.print(n+"}(intn=3;n<=max;n++)intsum=for(intm=n;m>0;m/={intv=m%sum+=v*v*}if(n==sum)System.out.print(n+"}} }importpublicclassDaffodilspublicstaticvoidmain(String[]{Scannerscanner=newintmax=scanner.nextInt();//判断n1.4图-}}}} }publicclassDaffodilsExtpublicstaticvoidmain(String[]{intcock,hen,for(cock=0;cock<=20;cock++)for(hen=0;hen<=33;{chick=100-cock-hen;if(chick%3==0){inttotal=cock*5+hen*3+chick/3;if(total==100){System.out.println("公鸡:"+cock++hen+",小鸡:"+2猜字母。系统随机产生5个按照一定顺序排列的字符,然后由用户输入一个个符的符串,由程序判断这五个字符和系统所产生的个字符是否相同(字母和位置均相同)。如果相同,则程序结束,并计算得分;如果不相同,则输出比较结果以提示用户继续。系统交互情况如图-所示:图-的得分规则为:字符的个数乘以100为总分,即此的总分为500分。用户如果第一次定义一个5个长度的字符数组用于系统所产生的5个字符,并定义变量记载用户所猜测的intlevel=char[]chs=newchar[level];intscore=0; char[]letters={'A','B','C','D','E','F','G','H','I','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};boolean[]flags=newfor(inti=0;i<chs.length;i++)intindex;do{index=}whilechs[i]=letters[index];flags[index]=true;}StringinputStr=char[]input=int[]result=newint[2];// // for(inti=0;i<input.length;{for(intj=0;j<chs.length;{if(input[i]=={}}{}}}}判断完毕后,需要输出提示信息到界面,并需要计算分数。如果5个字符的位置均正确,则表示结束,计算并输出用户的得分;否则,将猜测的次数累加1,并提示用户所猜对的字符个数以及位置个数,继续。代码如下:if(result[0]==level)score=100*level-score*System.out.println("GuessingGame>恭喜你猜对了!你的得分是:"+}elseSystem.out.println("GuessingGame>你猜对"+result[1]+}importimportimport publicclassGuessingGamepublicstaticvoidmain(String[]args)Scannerscanner=new intlevel=intscore=char[]chs=new while(true)StringinputStr=if("EXIT".equals(inputStr)) char[]input=int[]result=check(chs,if(result[0]==level)score=100*level-score*}elseSystem.out.println("GuessingGame>你猜对"+result[1]+"个 publicstaticvoidgenerate(char[]chs)char[]letters={'A','B','C','D','E','F','G','H','I',boolean[]flags=newfor(inti=0;i<chs.length;i++)intdoindex=}whilechs[i]=flags[index]= publicstaticint[]check(char[]chs,char[]input)int[]result=newint[2];// // for(inti=0;i<input.length;i++)for(intj=0;j<chs.length;j++)if(input[i]==chs[j])if(i==j) return }}为猜字母添加 等级。等级设为等:、和,代表所需要猜测的字母个数。开始时,由用户选择 等级(,7,)。如果选择,则会随机产生个字符,然后用户输入一个字符串包含个字符,看这个字符和随机产生的个字符比较,看是否正确,并统计分数。系统交互情况如图-所示:

图-importimport classGuessingGamepublicstaticvoidmain(String[]{Scannerscanner=newString{levelStr=}while(!"5".equals(levelStr)&&&&intlevel=Integer.parseInt(levelStr);intscore=0; 开始,请输入你所猜的"+ +"个字母序列:(exit——退出while(true)StringinputStr=if("EXIT".equals(inputStr)) char[]input=int[]result=check(chs,if(result[0]==level)score=100*level-score*}elseSystem.out.println("GuessingGame>你猜对"+result[1]+"个 +result[0]+"个字符的位置正确!(总次数="+ publicstaticvoidgenerate(char[]chs)char[]letters={'A','B','C','D','E','F','G','H','I',boolean[]flags=newfor(inti=0;i<chs.length;i++)intdoindex=}whilechs[i]=flags[index]=}}}int[]result=new//result[0]:正确的位置个//result[1]:正确的字符个for(inti=0;i<input.length;i++)for(intj=0;j<chs.length;{if(input[i]==chs[j])if(i==j)}}}}return}}publicpublicstaticint[]check(char[]chs,char[]input)质数和质数的个数,质数是指只有1和它本身两个约数的数。控制台输出情况如图-示:图-for(intn=2;n<=max;n++)里层循环判断某个数是否为质数。判断数n是否为质数,让n除以到n的平方根之间的每一个数,如果n能被到n(n大于)的平方根之间的某个数整除,则说明n不是素数,否则n一个小于平方根的数和它成对,例如8的平方根是,那只需要从2试到就可以了,因为超过平方根的结果会比平方根小。代码如下所示:intm=(int)inti=for(;i<=m;{if(n%i==0)}if(i>m)System.out.print(n+"");if(++numOfPrime%10==0)}importpublicclass mberpublicstaticvoidmain(String[]{Scannerscanner=newintmax=scanner.nextInt();intnumOfPrime=for(intn=2;n<=max;n++)//判断nintm=(int)Math.sqrt(n);inti=2;for(;i<=m;{if(n%i==0)}if(i>m)System.out.print(n+"");if(++numOfPrime%10==}}System.out.println("\n共有"+numOfPrime+}}注:最大公约数,指某几个整数共有因子中最大的一个。如果一个数既是数B的约数,称为B的公约数;而B的公约数中最大的一个(可以包括B自身)称为B的最大公约数。

图-importpublicclassCommonDivisorpublicstaticvoidmain(String[]{Scannerscanner=new=入第二个整数:");intsecond=intstart>second?second;intn=for(n=start;n>=1;n--)//判断nif%n==0)&&(second%n==}+"和"+++}}系统根据用户输入的和值,系统判断用户计算的是否正确,正确输出“Correct!”,错误系统输出图-while(true)Stringc=if{}if{continue;}Randomran=newa=for(inti=1;i<=numOfQuestion;i++)importimportjava.util.Random;publicclassAdditionTest{publicstaticvoidmain(String[]{Scannerscanner=newScanner(System.in);while(true){System.out.print("输入Y开始测验,输入Q);Stringc=scanner.next();if{}if(!"Y".equalsIgnoreCase(c.trim()))continue; intscore=intnumOfQuestion=Randomran=newinta,b,answer,for(inti=1;i<=numOfQuestion;i++)a=b=key=a+System.out.print("("+i+")."+a+"+"+b+"=answer=if(answer==key)score+=100/}else System.out.println("此次测验结束,你的分数是:"+ 猜数字用户录入一个大于1的正整数,然后由系统随机抽取一个从1测的数字,然后提示用户猜测此数值。用户录入某数值后,系统判断是否猜测正确:如果录入的数值比答案数值大,则输出“大了”,并提示用户继续猜;如果录入的数值比答案数值小,则输出“小了”,并提示用户继续猜。直到录入的数值等于答案,则输出所猜中的数字,并结束。

图-importimportpublicclassGuessingTestpublicstaticvoidmain(String[]args)Scannerscanner=newSystem.out.println("请录入所猜数字的上限:");intmax=System.out.println("您需要猜测的数字范围是:0~"max);intcount=Randomran=newintresult=ran.nextInt(max+1);while(true)System.out.print("第"+count+"次猜测:");intnumber=if(number==result) +result+";您共猜了"+count+"次"); }}}if(number>result)System.out.printlnnumber"大了!");continue;}if(number<resultSystem.out.printlnnumber"小了!");continue;}成绩管理系统。有如下功能共用户选则:录入成绩,成绩列表,查询成绩,退出。当用户在控制台输入1,用户选择的功能为录入成绩;输入2,用户选择的功能为成绩列表;输入3,用户选择的功能为根据查找成绩;输入,退出。系统交互情况如图-所示:图-intnumOfStudents=String[]students=NameUtils.randomNames(numOfStudents);int[]scores=newint[numOfStudents];System.out.println("开始录入成绩:"for(inti=0;i<students.length;i++)System.out.print((i+1)+scores[i]=+students[i}for(inti=0;i<students.length;i++)System.out.println(StringUtils.rightPad(i+1+"",10,"+StringUtils.rightPad(students[i],10,"+StringUtils.rightPad(scores[i]+"",10,"}查询成绩功能,首先根据在数组中查出该所对应的下标,该下标就是成绩数组中inti=istudents.length;i++)(student.equalsIgnoreCase(students[i])){}}(i<students.length)System.out.println((i+1)+".学生:"++",成绩:"+}else}importimport importpublicclassScoreManagerpublicstaticvoidmain(String[]args)intnumOfStudents=String[]students=int[]scores=newScannerscanner=newwhile(true)Stringc=if("1".equals(c))System.out.println("开始录入成绩:");for(inti=0;i<students.length;i++)System.out.print((i+1)+".学 +students[i scores[i]= }elseif("2".equals(c))intavg=for(inti=0;i<scores.length;i++)avg+=}avg/=",20,"+StringUtils.rightPad("","+StringUtils.rightPad("成绩","for(inti=0;i<students.length;{System.out.println(StringUtils.rightPad(i+1+"",10,"+StringUtils.rightPad(students[i],10,"+StringUtils.rightPad(scores[i]+"",10,"}System.out.println(StringUtils.repeat("-",System.out.println("平均成绩:"+}elseif("3".equals(c)) :Stringstudent=inti=for(;i<students.length;i++)if(student.equalsIgnoreCase(students[i])) if(i<students.length)System.out.println((i+1)+".学 :"+ +",成绩:"+}else }elseif("4".equals(c)) 其能由用户录入成绩;功能则输出成绩的列表;功能3为查询成绩;功能为计,即统计分数分别为不及格(0-9)、及格(0-9)、良好(80-9)、优秀(0-9)和满分(0)的人数;功能为退出。系统交互情况如图-所示:Stringc=if("1".equals(c))System.out.println("开始录入成绩:"

图-importimportimportpublicclassScoreManagerpublicstaticvoidmain(String[]{intnumOfStudents=String[]students=int[]scores=newScannerscanner=newwhile(true) for(inti=0;i<students.length;i++) System.out.print((i+1)+".学 :"+ scores[i]= }elseif{ intavg= for(inti=0;i<scores.length;i++) avg+= avg/=scores.length; ",20," + ",20," +StringUtils.rightPad("成绩",20,"")); System.out.println(StringUtils.repeat("-", for(inti=0;i<students.length;i++) .rightPad(i+1+"",10," +StringUtils.rightPad(students[i],10," +StringUtils.rightPad(scores[i]+"",10," System.out.println(StringUtils.repeat("-", System.out.println("平均成绩:"+avg);}elseif("3".equals(c)) :Stringstudent=inti=for(;i<students.length;i++)if(student.equalsIgnoreCase(students[i])) if(i<students.length) System.out.println((i+1)+".学 :"+ +",成绩:"+}else }}elseif("4".equals(c))//统计不及格(0-59)、及格(60-79)、良好(80-89)intfailed=intpass=intfine=excellent=full=(inti=0;i<scores.length;i++)if(scores[i]<elseifelseif elseif(scores[i]>=90&&scores[i]<= elseif(scores[i]== System.out.println("满分(100):"+full+"人"); System.out.println("优秀(99-90):"+excellent System.out.println("良好(89-80):"+fine System.out.println("及格(79-60):"+pass+failed+"人");}el

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论