整理JAVA习题文档格式.docx

上传人:b****4 文档编号:17143166 上传时间:2022-11-28 格式:DOCX 页数:17 大小:20.67KB
下载 相关 举报
整理JAVA习题文档格式.docx_第1页
第1页 / 共17页
整理JAVA习题文档格式.docx_第2页
第2页 / 共17页
整理JAVA习题文档格式.docx_第3页
第3页 / 共17页
整理JAVA习题文档格式.docx_第4页
第4页 / 共17页
整理JAVA习题文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

整理JAVA习题文档格式.docx

《整理JAVA习题文档格式.docx》由会员分享,可在线阅读,更多相关《整理JAVA习题文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

整理JAVA习题文档格式.docx

+cha+"

\n积是:

+ji+"

\n商是:

+shang);

JOptionPane.showMessageDialog(null,"

+shang,

"

Results"

JOptionPane.PLAIN_MESSAGE);

System.exit(0);

//terminateapplicationwithwindow

}//endmethodmain

}//endclassAddition

实验3

1、编写一个应用程序,要求用户输入一个圆的半径(double类型),然后计算并输出圆的直径、周长、面积等信息。

(把一个字符串转换为double类型数据的方法为Double.parseDouble(Strings))

importjava.text.DecimalFormat;

publicclassP3_1

{

publicstaticvoidmain(Stringargs[])

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.format(s));

JOptionPane.showMessageDialog(null,"

+f.format(s),

"

显示结果"

JOptionPane.INFORMATION_MESSAGE);

}

}

2、编写一个应用程序,要求用户输入两个整数,然后输出两个整数中的最大值。

publicclassP3_2

Strings1,s2;

s1=JOptionPane.showInputDialog("

请输入第一个整数:

s2=JOptionPane.showInputDialog("

请输入第二个整数:

intn1,n2;

n1=Integer.parseInt(s1);

n2=Integer.parseInt(s2);

intmax;

max=n1>

n2?

n1:

n2;

System.out.println(n1+"

和"

+n2+"

的最大值是:

+max);

}实验四

1、输入一个年份,一个月份(使用一个BufferedReader),判断该年该月有多少天(使用switch,注意要判断2月是多少天)

importjava.io.*;

publicclassP4_1

publicstaticvoidmain(Stringargs[])throwsIOException

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:

case10:

case12:

System.out.println(year+"

年"

+month+"

月"

有31天"

break;

case4:

case6:

case9:

case11:

有30天"

case2:

if((year%4==0&

&

year%100!

=0)||(year%400==0))

System.out.println(year+"

有29天"

else

有28天"

default:

System.out.println("

你输入的月份是错误的!

}

2、如果一个数按反向顺序放置后仍然与原数相等,称为回文数(如:

12321)。

编程:

输入一个5位数,判断此数是否为回文数。

publicclassP4_2

请输入一个5位数:

Strings1=br.readLine();

intn=Integer.parseInt(s1);

intn1,n2,n3,n4,n5;

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+"

是回文数。

else

不是回文数。

实验5

3、求S=a+aa+aaa+…+aaaa…a之值,其中a是一个数字。

例如:

2+22+222+2222+22222(此时n=5),a和n要求用户由键盘输入。

(有规律的式子求和,注意找到前后两项之间的关系,该题中后一项等于前一项的10倍加a)

publicclassP5_1

请输入一个1-9的数字:

请输入项数:

inta,n;

a=Integer.parseInt(s1);

n=Integer.parseInt(s2);

intp=0,sum=0;

for(inti=1;

i<

=n;

i++)

p=p*10+a;

sum+=p;

for(intj=1;

j<

=i;

j++)

{

System.out.print(a);

}

if(i<

n)

System.out.print("

elseif(i==n)

="

System.out.println(sum);

4.编写一个应用程序,要求用户输入5个整数(使用循环结构),输出这五个整数的最大值和最小值。

publicclassP5_2

Strings;

intmax=Integer.MIN_VALUE,min=Integer.MAX_VALUE;

inti=1;

while(i<

=5)

System.out.print("

请输入一个整数:

s=br.readLine();

intn=Integer.parseInt(s);

if(n>

max)

max=n;

if(n<

min)

min=n;

i++;

System.out.println("

max="

+max+"

min="

+min);

实验六

1、编程:

输入一个字符串,按相反顺序输出该字符串。

如输入abcd,输出dcba。

要求:

(1)按相反顺序输出该字符串的过程编写为方法;

(2)用户输入一个字符串后,按回车输出结果后,用户还能够继续输入新的字符串(直到输入0停止)

备注:

判断一个字符串s和“0”是否相等不能用运算符“==”或“!

=”,应该使用方法s.equals(“0”),如果s和“0”相等,则该方法返回true,否则该方法返回false。

publicclassP6_1

publicstaticStringreverse2(Stringa)

intn=a.length();

Strings="

;

for(inti=n-1;

i>

=0;

i--)

s+=a.charAt(i);

returns;

publicstaticvoidreverse(Stringa)

System.out.print(a.charAt(i));

System.out.println();

{

do

请输入一个字符串:

if(s.equals("

0"

))

else

P6_1.reverse(s);

}while(s.equals("

)==false);

2、编写一个静态方法用于求任意两个正整数的最大公约数,调用此方法求16和24的最大公约数。

求最大公约数使用辗转相除法,我国古代数学家秦九韶1247年在《数书九章》中记载了此方法,其处理过程如下:

(1)提供两个数m和n

(2)以n除m,求得余数r(r=m%n)

(3)判断r是否为0,若r=0,此时的n值即为最大公约数,计算结束。

若r≠0,更新被除数和除数,n送m(即m=n),r送n(即n=r),转到

(2)。

publicclassP6_2

publicstaticintfactor(intn,intm)

intr=m%n;

while(r!

=0)

m=n;

n=r;

r=m%n;

returnn;

{

intn=P6_2.factor(16,24);

System.out.println(n);

}实验七

1,编写递归方法gcd,返回x和y的最大公约数。

x和y的最大公约数方法gcd的递归定义如下:

如果y等于0,则gcd(x,y)就是x;

否则,gcd(x,y)就等于gcd(y,x%y),其中“%”是求模运算符。

publicclassP7_1

publicstaticintgcd(intx,inty)

if(y==0)

returnx;

returngcd(y,x%y);

intk=10,m=80;

intn=gcd(k,m);

}

2,编写递归方法getPower(intx,inty),用于计算x的y次幂,在main主方法中调用它求2的10次幂。

publicclassP7_2

publicstaticintgetPower(intx,inty)

if(y==1)

returnx*getPower(x,y-1);

System.out.println(P7_2.getPower(2,10));

3、n从键盘输入,n是一个小于10的数。

编写一个方法publicstaticvoidshuChu(intn)用循环语句输出如下图所示的n行三角形图形。

提示:

使用字母的ACSII码输出该字母,字母A对应65,字母B对应66……

A

BBB

CCCCC

DDDDDDD

importjava.io.*;

publicclassP7_3

publicstaticvoidshuChu(intn)

=n-i;

=2*i-1;

System.out.print((char)(64+i));

System.out.println();

请输入n的值:

Strings=br.readLine();

intn=Integer.parseInt(s);

P7_3.shuChu(n);

}实验八

1、定义一个数组来存储12个学生的成绩{72,89,65,58,87,91,53,82,71,93,76,68},计算并输出学生的平均成绩。

(要求:

计算平均成绩的过程定义为方法)

publicclassP8_1

staticdoubleave(intn[])

intsum=0;

for(inti=0;

n.length;

sum=sum+n[i];

doublea=(double)(sum)/n.length;

returnDouble.parseDouble(f.format(a));

intscore[]={72,89,65,58,87,91,53,82,71,93,76,68};

System.out.println(P8_1.ave(score));

2、定义一个数组来存储12个学生的成绩{72,89,65,58,87,91,53,82,71,93,76,68},统计各成绩等级(90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为E)学生人数,并将其放入到数组count中,其中:

count[0]存E级的人数,count[1]存D级的人数,……,count[4]存A级的人数。

(提示:

注意要找到各分数段同数组count的下标的关系)publicclassP8_2

intscore[]={72,89,65,58,87,91,53,82,71,93,76,68};

intcount[]=newint[5];

score.length;

if(score[i]==100)

count[4]++;

elseif(score[i]<

60)

count[0]++;

count[score[i]/10-5]++;

count.length;

System.out.println((char)(69-i)+"

\t"

+count[i]);

3、从键盘输入10个整数,将奇数和偶数分别存入到两个不同的数组中,并按奇数、偶数交替的顺序输出这两个数组中的所有数据(先交替输出,如果奇数个数多,则再输出剩下的奇数,如果偶数个数多,则再输出剩下的偶数)。

(提示与要求:

(1)定义一个数组存储从键盘输入的10个整数,先判断这10个整数中奇数和偶数的个数,才能定义存储奇数和偶数的数组的长度;

(2)把分拣奇数和偶数并交替输出的过程定义为方法)

publicclassP8_3

publicstaticvoidoutput(intn[])

inteven[],odd[];

inta=0,b=0;

if(n[i]%2==0)

a++;

b++;

even=newint[a];

odd=newint[b];

intj=0,k=0;

even[j]=n[i];

j++;

}

odd[k]=n[i];

k++;

}

if(b<

a)

for(inti=0;

b;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1