JAVA习题教学内容_第1页
JAVA习题教学内容_第2页
JAVA习题教学内容_第3页
JAVA习题教学内容_第4页
JAVA习题教学内容_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、Good is good, but better carries it.精益求精,善益求善。JAVA习题-实验2要求输入两个整数,输出这两个整数的和、差、积、商importjavax.swing.JOptionPane;/programusesJOptionPanepublicclassP2/mainmethodbeginsexecutionofJavaapplicationpublicstaticvoidmain(Stringargs)StringfirstNumber;/firststringenteredbyuserStringsecondNumber;/secondstringente

2、redbyuserintnumber1;intnumber2;inthe,cha,ji,shang;/readinfirstnumberfromuserasastringfirstNumber=JOptionPane.showInputDialog(Enterfirstinteger);/readinsecondnumberfromuserasastringsecondNumber=JOptionPane.showInputDialog(Entersecondinteger);/convertnumbersfromtypeStringtotypeintnumber1=Integer.parse

3、Int(firstNumber);number2=Integer.parseInt(secondNumber);he=number1+number2;cha=number1-number2;ji=number1*number2;shang=number1/number2;/displayresultSystem.out.println(和是:+he+n差是:+cha+n积是:+ji+n商是:+shang);JOptionPane.showMessageDialog(null,和是:+he+n差是:+cha+n积是:+ji+n商是:+shang,Results,JOptionPane.PLAIN

4、_MESSAGE);System.exit(0);/terminateapplicationwithwindow/endmethodmain/endclassAddition实验3编写一个应用程序,要求用户输入一个圆的半径(double类型),然后计算并输出圆的直径、周长、面积等信息。(把一个字符串转换为double类型数据的方法为Double.parseDouble(Strings))importjavax.swing.JOptionPane;importjava.text.DecimalFormat;publicclassP3_1publicstaticvoidmain(Stringarg

5、s)Stringr;r=JOptionPane.showInputDialog(请输入一个圆的半径:);doubleradius;radius=Double.parseDouble(r);doublezhijing,l,s;finaldoubleP=Math.PI;zhijing=2*radius;l=2*P*radius;s=P*Math.pow(radius,2);DecimalFormatf=newDecimalFormat(0.00);/System.out.println(圆的半径是:+radius+n+直径是:+zhijing+n周长是:+f.format(l)+n面积是:+f.f

6、ormat(s);JOptionPane.showMessageDialog(null,圆的半径是:+radius+n+直径是:+zhijing+n周长是:+f.format(l)+n面积是:+f.format(s),显示结果,JOptionPane.INFORMATION_MESSAGE);2、编写一个应用程序,要求用户输入两个整数,然后输出两个整数中的最大值。importjavax.swing.JOptionPane;publicclassP3_2publicstaticvoidmain(Stringargs)Strings1,s2;s1=JOptionPane.showInputDial

7、og(请输入第一个整数:);s2=JOptionPane.showInputDialog(请输入第二个整数:);intn1,n2;n1=Integer.parseInt(s1);n2=Integer.parseInt(s2);intmax;max=n1n2?n1:n2;System.out.println(n1+和+n2+的最大值是:+max);实验四输入一个年份,一个月份(使用一个BufferedReader),判断该年该月有多少天(使用switch,注意要判断2月是多少天)importjava.io.*;publicclassP4_1publicstaticvoidmain(Stringa

8、rgs)throwsIOExceptionStrings1,s2;intyear,month;BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);System.out.print(请输入一个年份:);s1=br.readLine();System.out.print(请输入一个月份:);s2=br.readLine();year=Integer.parseInt(s1);month=Integer.parseInt(s2);switch(month)case1:case3:case5:case7:case8:ca

9、se10:case12:System.out.println(year+年+month+月+有31天);break;case4:case6:case9:case11:System.out.println(year+年+month+月+有30天);break;case2:if(year%4=0&year%100!=0)|(year%400=0)System.out.println(year+年+month+月+有29天);elseSystem.out.println(year+年+month+月+有28天);break;default:System.out.println(你输入的月份是错误的!

10、);如果一个数按反向顺序放置后仍然与原数相等,称为回文数(如:12321)。编程:输入一个5位数,判断此数是否为回文数。importjava.io.*;publicclassP4_2publicstaticvoidmain(Stringargs)throwsIOExceptionBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);System.out.print(请输入一个5位数:);Strings1=br.readLine();intn=Integer.parseInt(s1);intn1,n2,n3,n4,n

11、5;n1=n/10000;/n2=(n-10000*n1)/1000;n2=n%10000/1000;n3=n%1000/100;n4=n%100/10;n5=n%10;if(n1=n5&n2=n4)System.out.println(n+是回文数。);elseSystem.out.println(n+不是回文数。);实验5求S=a+aa+aaa+aaaaa之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),a和n要求用户由键盘输入。(有规律的式子求和,注意找到前后两项之间的关系,该题中后一项等于前一项的10倍加a)importjava.io.*;public

12、classP5_1publicstaticvoidmain(Stringargs)throwsIOExceptionBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);Strings1,s2;System.out.print(请输入一个1-9的数字:);s1=br.readLine();System.out.print(请输入项数:);s2=br.readLine();inta,n;a=Integer.parseInt(s1);n=Integer.parseInt(s2);intp=0,sum=0;for(int

13、i=1;i=n;i+)p=p*10+a;sum+=p;for(inti=1;i=n;i+)for(intj=1;j=i;j+)System.out.print(a);if(in)System.out.print(+);elseif(i=n)System.out.print(=);System.out.println(sum);4.编写一个应用程序,要求用户输入5个整数(使用循环结构),输出这五个整数的最大值和最小值。importjava.io.*;publicclassP5_2publicstaticvoidmain(Stringargs)throwsIOExceptionBufferedRe

14、aderbr=newBufferedReader(newInputStreamReader(System.in);Strings;intmax=Integer.MIN_VALUE,min=Integer.MAX_VALUE;inti=1;while(imax)max=n;if(n=0;i-)s+=a.charAt(i);returns;publicstaticvoidreverse(Stringa)intn=a.length();for(inti=n-1;i=0;i-)System.out.print(a.charAt(i);System.out.println();publicstaticv

15、oidmain(Stringargs)throwsIOExceptionBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);Strings;doSystem.out.print(请输入一个字符串:);s=br.readLine();if(s.equals(0)break;elseP6_1.reverse(s);while(s.equals(0)=false);2、编写一个静态方法用于求任意两个正整数的最大公约数,调用此方法求16和24的最大公约数。备注:求最大公约数使用辗转相除法,我国古代数学家秦九韶1247年在

16、数书九章中记载了此方法,其处理过程如下:(1)提供两个数m和n(2)以n除m,求得余数r(r=m%n)(3)判断r是否为0,若r=0,此时的n值即为最大公约数,计算结束。若r0,更新被除数和除数,n送m(即m=n),r送n(即nr),转到(2)。publicclassP6_2publicstaticintfactor(intn,intm)intr=m%n;while(r!=0)m=n;n=r;r=m%n;returnn;publicstaticvoidmain(Stringargs)intn=P6_2.factor(16,24);System.out.println(n);实验七1,编写递归方

17、法gcd,返回x和y的最大公约数。x和y的最大公约数方法gcd的递归定义如下:如果y等于0,则gcd(x,y)就是x;否则,gcd(x,y)就等于gcd(y,x%y),其中“%”是求模运算符。publicclassP7_1publicstaticintgcd(intx,inty)if(y=0)returnx;elsereturngcd(y,x%y);publicstaticvoidmain(Stringargs)intk=10,m=80;intn=gcd(k,m);System.out.println(n);2,编写递归方法getPower(intx,inty),用于计算x的y次幂,在main

18、主方法中调用它求2的10次幂。publicclassP7_2publicstaticintgetPower(intx,inty)if(y=1)returnx;elsereturnx*getPower(x,y-1);publicstaticvoidmain(Stringargs)System.out.println(P7_2.getPower(2,10);3、n从键盘输入,n是一个小于10的数。编写一个方法publicstaticvoidshuChu(intn)用循环语句输出如下图所示的n行三角形图形。提示:使用字母的ACSII码输出该字母,字母A对应65,字母B对应66ABBBCCCCCDDD

19、DDDDimportjava.io.*;publicclassP7_3publicstaticvoidshuChu(intn)for(inti=1;i=n;i+)for(intj=1;j=n-i;j+)System.out.print();for(intj=1;j=2*i-1;j+)System.out.print(char)(64+i);System.out.println();publicstaticvoidmain(Stringargs)throwsIOExceptionBufferedReaderbr=newBufferedReader(newInputStreamReader(Sys

20、tem.in);System.out.print(请输入n的值:);Strings=br.readLine();intn=Integer.parseInt(s);P7_3.shuChu(n);实验八定义一个数组来存储12个学生的成绩72,89,65,58,87,91,53,82,71,93,76,68,计算并输出学生的平均成绩。(要求:计算平均成绩的过程定义为方法)importjava.text.DecimalFormat;publicclassP8_1staticdoubleave(intn)intsum=0;for(inti=0;in.length;i+)sum=sum+ni;double

21、a=(double)(sum)/n.length;DecimalFormatf=newDecimalFormat(0.00);returnDouble.parseDouble(f.format(a);publicstaticvoidmain(Stringargs)intscore=72,89,65,58,87,91,53,82,71,93,76,68;System.out.println(P8_1.ave(score);定义一个数组来存储12个学生的成绩72,89,65,58,87,91,53,82,71,93,76,68,统计各成绩等级(90分以上为A,8089分为B,7079分为C,606

22、9分为D,60分以下为E)学生人数,并将其放入到数组count中,其中:count0存E级的人数,count1存D级的人数,count4存A级的人数。(提示:注意要找到各分数段同数组count的下标的关系)publicclassP8_2publicstaticvoidmain(Stringargs)intscore=72,89,65,58,87,91,53,82,71,93,76,68;intcount=newint5;for(inti=0;iscore.length;i+)if(scorei=100)count4+;elseif(scorei60)count0+;elsecountscore

23、i/10-5+;for(inti=0;icount.length;i+)System.out.println(char)(69-i)+t+counti);从键盘输入10个整数,将奇数和偶数分别存入到两个不同的数组中,并按奇数、偶数交替的顺序输出这两个数组中的所有数据(先交替输出,如果奇数个数多,则再输出剩下的奇数,如果偶数个数多,则再输出剩下的偶数)。(提示与要求:(1)定义一个数组存储从键盘输入的10个整数,先判断这10个整数中奇数和偶数的个数,才能定义存储奇数和偶数的数组的长度;(2)把分拣奇数和偶数并交替输出的过程定义为方法)importjava.io.*;publicclassP8_3publicstaticvoidoutput(intn)inteven,odd;inta=0,b=0;for(inti=0;in.length;i+)if(ni%2=0)a+;elseb+;even=newinta;odd=newintb;intj=0,k=0;for(inti=0;in.length;i+)if(ni%2=0)evenj=ni;j+

温馨提示

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

评论

0/150

提交评论