第四章题库.docx
《第四章题库.docx》由会员分享,可在线阅读,更多相关《第四章题库.docx(26页珍藏版)》请在冰豆网上搜索。
第四章题库
一.填空题以及答案
1.以下方法fun的功能是求两参数之积。
(returna*b)
intfun(inta,intb){__________________;}
2.以下方法fun的功能是求两参数之积。
(return(float)a*b)
floatfun(inta,doubleb){__________________;}
3.以下方法fun的功能是求两参数的最大值。
(returna>b?
a:
b)
4.以下方法m的功能是求两参数之积的整数部分。
(return(int)(a*b))
intm(floatx,floaty){__________________;}
5.下面是用户程序对Applet类中方法paint()的重新定义。
(voidcall)
public___paint(Graphics____)
{call.drawString("Hello,java!
",10,20);}
6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。
(booleantrue)
public________isEven(inta)
{if(a%2==0)
return_____;
else
returnfalse;
}
7.同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。
(参数列表)
二.选择题及答案
1.下列方法定义中,正确的是(D)。
A)intx(inta,b){return(a-b);}
B)doublex(inta,intb){intw;w=a-b;}
C)doublex(a,b){returnb;}
D)intx(inta,intb){returna-b;}
2.下列方法定义中,正确的是(D)。
A)voidx(inta,intb);{return(a-b);}
B)x(inta,intb){returna-b;}
C)doublex{returnb;}
D)intx(inta,intb){returna+b;}
3.下列方法定义中,不正确的是(D)。
A)floatx(inta,intb){return(a-b);}
B)intx(inta,intb){returna-b;}
C)intx(inta,intb);{returna*b;}
D)intx(inta,intb){return1.2*(a+b);}
4.下列方法定义中,正确的是(A)。
A)intx(){charch='a';return(int)ch;}
B)voidx(){...returntrue;}
C)intx(){...returntrue;}
D)intx(inta,b){returna+b;}
5.列方法定义中,方法头不正确的是(D)。
A)publicintx(){...}
B)publicstaticintx(doubley){...}
C)voidx(doubled){...}
D)publicstaticx(doublea){...}
6.在某个类中存在一个方法:
voidgetSort(intx),以下能作为这个方法的重载的声明的是(C)。
A)publicgetSort(floatx)B)intgetSort(inty)
C)doublegetSort(intx,inty)D)voidget(intx,inty)
7.在某个类中存在一个方法:
voidsort(intx),以下不能作为这个方法的重载的声明的是(B)。
A)publicfloatsort(floatx)B)intsort(inty)
C)doublesort(intx,inty)D)voidsort(doubley)
8.为了区分类中重载的同名的不同方法,要求(A)。
A)采用不同的形式参数列表B)返回值类型不同
C)调用时用类名或对象名做前缀D)参数名不同
三.问答题及答案
1.方法可以没有返回值吗?
可以有多个返回值吗?
(可以;不能)
2.一个方法如果没有返回值,方法头定义中的返回值类型为何?
(void)
3.何为形式参数?
何为实在参数?
(略)
4.一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用?
这种变量称为什么变量?
(不能;局部变量)
5.采用_______的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提高。
(模块化)
6.重载的方法可以通过它们的返回值类型的不同来区分吗?
(不能)
7.编译程序如何区分重载方法的调用?
(根据参数列表不同来区分)
四.程序设计题及答案
1.编写方法求两个浮点数的最大值,并通过调用该方法求得从键盘读入的三个浮点数的最大值。
publicclassMaxMethod
{
publicstaticdoublemax(doublex,doubley)
doublez;
z=(x>y)?
x:
y;
returnz;
publicstaticvoidmain(String[]args)
System.out.println(“请输入3个浮点数,以回车结束每个数的输入:
”);
doublea=MyInput.readDouble();
doubleb=MyInput.readDouble();
doublec=MyInput.readDouble();
doubletemp=max(a,b);
temp=max(temp,c);
System.out.println(“最大值为:
”+temp);
2.编写方法,输出n以内的所有完数。
其中n是用户输入的。
完数:
如果一个数恰好等于它的因子之和,则这个数就是“完数”。
例如:
6的因子是1、2、3,而6=1+2+3,因此6就是完数。
publicclassWanshu
publicstaticvoidqiuwanshu(intn)
inti,j,sum;
for(i=1;i<=n;i++)
sum=0;
for(j=1;j
if(i%j==0)
sum+=j;
if(i==sum)
System.out.print(i+””);
Sytem.out.println();
System.out.println(“请输入整数n,我们将给出n以内的所有完数:
intn=MyInput.readInt();
qiuwanshu(n);
3.编写两个方法,分别求两个整数的最大公约数和最小公倍数。
提示:
可以利用辗转相除法求得两个整数的最大公约数。
最小公倍数*最大公约数=两个数的乘积
publicclassGLNumber
publicstaticintGcd(intm,intn)
while(n!
=0)
inttemp=m;
m=n;
n=temp%n;
returnm;
publicstaticintLcd(intm,intn)
returnm*n/Gcd(m,n);
System.out.println(“请输入两个整数m,n,我们将给出这两个数的最大公约数和最小公倍数:
intm=MyInput.readInt();
System.out.println(“最大公约数是:
”+Gcd(m,n));
System.out.println(“最小公倍数是:
”+Lcd(m,n));
4.编写一个方法,用来计算并输出:
1-1/2+1/3-1/4+………+(-1)(n-1)*1/n,其中n是用户输入的正整数。
publicclassShuLie
publicstaticvoidsum(intn)
intsign=-1;
doublesum=1.0;
doubleunder=1.0;
for(inti=2;i<=n;i++)
under=1.0*i;
sum=sum+sign/under;
sign=sign*(-1);
System.out.println(“计算结果是:
”+sum);
System.out.println(“请输入整数n:
sum(n);
5.利用数组实现对10个整数进行升序排列,并输出结果。
publicclassBubbleSort
publicstaticvoidbubbleSort(int[]a)
intn=a.length;
inttemp;
for(inti=n-1;i>0;i--)
for(intj=0;j{if(a[j+1]{temp=a[j+1];a[j+1]=a[j];a[j]=temp;}}}}publicstaticvoidmain(String[]args){int[]m={10,8,21,65,32,51,74,14,28,95};System.out.println(“排序前的数组:”);for(inti=0;iSystem.out.print(m[i]+””);bubbleSort(m);System.out.println();System.out.println(“排序后的数组:”);for(inti=0;iSystem.out.print(m[i]+””);}}6.利用数组实现打印以下的杨辉三角(打印10行)11112113311464115101051publicclassYangHui{publicstaticvoidmain(String[]args){inti,j;inta[][]=newint[11][11];for(i=1;i<11;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<11;i++){for(j=2;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<11;i++){for(j=1;j<=i;j++)System.out.print(a[i][j]+””);System.out.println();}}}7.利用随机数产生一个10行,10列的整型矩阵。完成如下操作:a)输出矩阵中元素的最大值及最大值所在的位置(行、列值)b)输出该矩阵的转置矩阵。publicclassMatrix{publicstaticvoidmain(String[]args){inta[][]=newint[10][10];for(inti=0;i<10;i++)for(intj=0;j<10;j++)a[i][j]=(int)(100*Math.random());System.out.println(“系统随机生成的矩阵是:”);for(inti=0;i<10;i++){for(intj=0;j<10;j++)System.out.print(a[i][j]+“”);System.out.println();}intmax=a[0][0];inthang=0;intlie=0;for(inti=0;i<10;i++){for(intj=0;j<10;j++)if(max{max=a[i][j];hang=i;lie=j;}}System.out.println(“最大数”+max+”在第”+hang+”行,第”+lie+”列”);System.out.println(“它的转置矩阵是:”);for(intj=0;j<10;j++){for(inti=0;i<10;i++)System.out.print(a[i][j]+“”);System.out.println();}}}8.编写方法求12+22+…+…+n2.publicclassPingfanghe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("12+22+…+…+n2is"+YY(n));}publicstaticintYY(intn)(inti=1,s=0;while(i<=n){s+=i*i;i++;}returns;}}9.编写程序是先如下要求:·说明一个方法,判断一个整数是否是素数。使用如下方法说明:publicstaticBooleanisPrime(intnum);一个大于1的整数,如果它的因子只有1和它本身,则被称为素数(primenumber)。例如,isPrime(11)返回true,而isPrime(9)返回false。·用isPrime方法求前100个素数,并每行10个显示出来,输出格式如下:2357111317192329313741434753596167717379838997publicclassExercise4_6{publicstaticvoidmain(String[]args){intcount=0;for(inti=2;i<=100;i++){if(isPrime(i)){System.out.print(i+"");count++;if(count%10==0)System.out.println("");}}}publicstaticbooleanisPrime(intnum){if(num==2){returntrue;}for(inti=2;i<=num/2;i++){if(num%i==0)returnfalse;}returntrue;}}10.编写方法实现对用户输入的3个数(可以是int或double型),输出其最小者。publicclassTestMin{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y,z;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadDouble();System.out.println("Theminimumoneis:"+min(x,y,z));}//Findtheminbetweentwodoublevaluesstaticdoublemin(doublenum1,doublenum2){if(num1>num2)returnnum1;elsereturnnum2;}//Findtheminamongthreedoublevaluesstaticdoublemin(doublenum1,doublenum2,doublenum3){returnmin(min(num1,num2),num3);}}11.写一个方法计算一个整数各位数字的和。使用如下方法说明:publicstaticintsumDigits(longn)publicclassExercise4_2{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("thesumofdigitsfor“+n+“is"+sumDigits(n));}publicstaticintsumDigits(longn){inttemp=(int)Math.abs(n);intsum=0;while(temp!=0){intremainder=temp%10;sum+=remainder;temp=temp/10;}returnsum;}}12.使用下述方法说明编写一个方法,将摄氏度转换为华氏度:publicstaticdoublecelsToFahr(doublecels)转换公式如下:华氏度=(9.0/5)*摄氏度+32用for循环编写程序,调用celsToFahr方法输出下表:Cels.Temp.Fahr.Temp……………………………………………40.0104.0039.00102.2038.00100.4037.0098.6036.0096.8035.0095.0034.0093.2033.0091.4032.0089.6031.0087.80//Exercise4_4.java:Createamethodfor//convertingCelsiustoFahrenheitpublicclassExercise4_4{publicstaticvoidmain(String[]args){System.out.println("Cels.Temp.\t\tFahr.Temp.");System.out.println("-------------------------------");for(doublecelsius=40;celsius>=31;celsius--){System.out.println(celsius+"\t\t\t"+celsToFahr(celsius));}}publicstaticdoublecelsToFahr(doublecels){return(9.0/5.0)*cels+32;}}13.编写方法,调用该方法求如下数值:1+1/3+…+…+1/n;publicclassFenshuhe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("1+1/3+…+…+1/(2n-1)="+QQ(n));}publicstaticdoubleQQ(intn)(inti=1;doubles=0.0;while(i<=n){s+=1/(2*i-1);i++;}returns;}}14.写一个方法计算给定年数和利率的投资终值。终值由下列公式计算:终值=现值×(1+月利率)年数×12使用下述方法说明:publicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears)publicclassTouzizhongzi{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y;intz;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadInt();System.out.println("TheTouzizhongziis:"+futureTnvestmentValue(x,y,z));}//FindtheminbetweentwodoublevaluespublicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears){doubles=0.0;s=investmentAmount*pow((1+monthlyInterestRate),(years*12));returns;}15.有一个已经排好升序的数组。现输入一个数,要求按原来的规律将它插入数组中。pub
if(a[j+1]{temp=a[j+1];a[j+1]=a[j];a[j]=temp;}}}}publicstaticvoidmain(String[]args){int[]m={10,8,21,65,32,51,74,14,28,95};System.out.println(“排序前的数组:”);for(inti=0;iSystem.out.print(m[i]+””);bubbleSort(m);System.out.println();System.out.println(“排序后的数组:”);for(inti=0;iSystem.out.print(m[i]+””);}}6.利用数组实现打印以下的杨辉三角(打印10行)11112113311464115101051publicclassYangHui{publicstaticvoidmain(String[]args){inti,j;inta[][]=newint[11][11];for(i=1;i<11;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<11;i++){for(j=2;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<11;i++){for(j=1;j<=i;j++)System.out.print(a[i][j]+””);System.out.println();}}}7.利用随机数产生一个10行,10列的整型矩阵。完成如下操作:a)输出矩阵中元素的最大值及最大值所在的位置(行、列值)b)输出该矩阵的转置矩阵。publicclassMatrix{publicstaticvoidmain(String[]args){inta[][]=newint[10][10];for(inti=0;i<10;i++)for(intj=0;j<10;j++)a[i][j]=(int)(100*Math.random());System.out.println(“系统随机生成的矩阵是:”);for(inti=0;i<10;i++){for(intj=0;j<10;j++)System.out.print(a[i][j]+“”);System.out.println();}intmax=a[0][0];inthang=0;intlie=0;for(inti=0;i<10;i++){for(intj=0;j<10;j++)if(max{max=a[i][j];hang=i;lie=j;}}System.out.println(“最大数”+max+”在第”+hang+”行,第”+lie+”列”);System.out.println(“它的转置矩阵是:”);for(intj=0;j<10;j++){for(inti=0;i<10;i++)System.out.print(a[i][j]+“”);System.out.println();}}}8.编写方法求12+22+…+…+n2.publicclassPingfanghe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("12+22+…+…+n2is"+YY(n));}publicstaticintYY(intn)(inti=1,s=0;while(i<=n){s+=i*i;i++;}returns;}}9.编写程序是先如下要求:·说明一个方法,判断一个整数是否是素数。使用如下方法说明:publicstaticBooleanisPrime(intnum);一个大于1的整数,如果它的因子只有1和它本身,则被称为素数(primenumber)。例如,isPrime(11)返回true,而isPrime(9)返回false。·用isPrime方法求前100个素数,并每行10个显示出来,输出格式如下:2357111317192329313741434753596167717379838997publicclassExercise4_6{publicstaticvoidmain(String[]args){intcount=0;for(inti=2;i<=100;i++){if(isPrime(i)){System.out.print(i+"");count++;if(count%10==0)System.out.println("");}}}publicstaticbooleanisPrime(intnum){if(num==2){returntrue;}for(inti=2;i<=num/2;i++){if(num%i==0)returnfalse;}returntrue;}}10.编写方法实现对用户输入的3个数(可以是int或double型),输出其最小者。publicclassTestMin{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y,z;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadDouble();System.out.println("Theminimumoneis:"+min(x,y,z));}//Findtheminbetweentwodoublevaluesstaticdoublemin(doublenum1,doublenum2){if(num1>num2)returnnum1;elsereturnnum2;}//Findtheminamongthreedoublevaluesstaticdoublemin(doublenum1,doublenum2,doublenum3){returnmin(min(num1,num2),num3);}}11.写一个方法计算一个整数各位数字的和。使用如下方法说明:publicstaticintsumDigits(longn)publicclassExercise4_2{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("thesumofdigitsfor“+n+“is"+sumDigits(n));}publicstaticintsumDigits(longn){inttemp=(int)Math.abs(n);intsum=0;while(temp!=0){intremainder=temp%10;sum+=remainder;temp=temp/10;}returnsum;}}12.使用下述方法说明编写一个方法,将摄氏度转换为华氏度:publicstaticdoublecelsToFahr(doublecels)转换公式如下:华氏度=(9.0/5)*摄氏度+32用for循环编写程序,调用celsToFahr方法输出下表:Cels.Temp.Fahr.Temp……………………………………………40.0104.0039.00102.2038.00100.4037.0098.6036.0096.8035.0095.0034.0093.2033.0091.4032.0089.6031.0087.80//Exercise4_4.java:Createamethodfor//convertingCelsiustoFahrenheitpublicclassExercise4_4{publicstaticvoidmain(String[]args){System.out.println("Cels.Temp.\t\tFahr.Temp.");System.out.println("-------------------------------");for(doublecelsius=40;celsius>=31;celsius--){System.out.println(celsius+"\t\t\t"+celsToFahr(celsius));}}publicstaticdoublecelsToFahr(doublecels){return(9.0/5.0)*cels+32;}}13.编写方法,调用该方法求如下数值:1+1/3+…+…+1/n;publicclassFenshuhe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("1+1/3+…+…+1/(2n-1)="+QQ(n));}publicstaticdoubleQQ(intn)(inti=1;doubles=0.0;while(i<=n){s+=1/(2*i-1);i++;}returns;}}14.写一个方法计算给定年数和利率的投资终值。终值由下列公式计算:终值=现值×(1+月利率)年数×12使用下述方法说明:publicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears)publicclassTouzizhongzi{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y;intz;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadInt();System.out.println("TheTouzizhongziis:"+futureTnvestmentValue(x,y,z));}//FindtheminbetweentwodoublevaluespublicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears){doubles=0.0;s=investmentAmount*pow((1+monthlyInterestRate),(years*12));returns;}15.有一个已经排好升序的数组。现输入一个数,要求按原来的规律将它插入数组中。pub
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
int[]m={10,8,21,65,32,51,74,14,28,95};
System.out.println(“排序前的数组:
for(inti=0;iSystem.out.print(m[i]+””);bubbleSort(m);System.out.println();System.out.println(“排序后的数组:”);for(inti=0;iSystem.out.print(m[i]+””);}}6.利用数组实现打印以下的杨辉三角(打印10行)11112113311464115101051publicclassYangHui{publicstaticvoidmain(String[]args){inti,j;inta[][]=newint[11][11];for(i=1;i<11;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<11;i++){for(j=2;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<11;i++){for(j=1;j<=i;j++)System.out.print(a[i][j]+””);System.out.println();}}}7.利用随机数产生一个10行,10列的整型矩阵。完成如下操作:a)输出矩阵中元素的最大值及最大值所在的位置(行、列值)b)输出该矩阵的转置矩阵。publicclassMatrix{publicstaticvoidmain(String[]args){inta[][]=newint[10][10];for(inti=0;i<10;i++)for(intj=0;j<10;j++)a[i][j]=(int)(100*Math.random());System.out.println(“系统随机生成的矩阵是:”);for(inti=0;i<10;i++){for(intj=0;j<10;j++)System.out.print(a[i][j]+“”);System.out.println();}intmax=a[0][0];inthang=0;intlie=0;for(inti=0;i<10;i++){for(intj=0;j<10;j++)if(max{max=a[i][j];hang=i;lie=j;}}System.out.println(“最大数”+max+”在第”+hang+”行,第”+lie+”列”);System.out.println(“它的转置矩阵是:”);for(intj=0;j<10;j++){for(inti=0;i<10;i++)System.out.print(a[i][j]+“”);System.out.println();}}}8.编写方法求12+22+…+…+n2.publicclassPingfanghe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("12+22+…+…+n2is"+YY(n));}publicstaticintYY(intn)(inti=1,s=0;while(i<=n){s+=i*i;i++;}returns;}}9.编写程序是先如下要求:·说明一个方法,判断一个整数是否是素数。使用如下方法说明:publicstaticBooleanisPrime(intnum);一个大于1的整数,如果它的因子只有1和它本身,则被称为素数(primenumber)。例如,isPrime(11)返回true,而isPrime(9)返回false。·用isPrime方法求前100个素数,并每行10个显示出来,输出格式如下:2357111317192329313741434753596167717379838997publicclassExercise4_6{publicstaticvoidmain(String[]args){intcount=0;for(inti=2;i<=100;i++){if(isPrime(i)){System.out.print(i+"");count++;if(count%10==0)System.out.println("");}}}publicstaticbooleanisPrime(intnum){if(num==2){returntrue;}for(inti=2;i<=num/2;i++){if(num%i==0)returnfalse;}returntrue;}}10.编写方法实现对用户输入的3个数(可以是int或double型),输出其最小者。publicclassTestMin{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y,z;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadDouble();System.out.println("Theminimumoneis:"+min(x,y,z));}//Findtheminbetweentwodoublevaluesstaticdoublemin(doublenum1,doublenum2){if(num1>num2)returnnum1;elsereturnnum2;}//Findtheminamongthreedoublevaluesstaticdoublemin(doublenum1,doublenum2,doublenum3){returnmin(min(num1,num2),num3);}}11.写一个方法计算一个整数各位数字的和。使用如下方法说明:publicstaticintsumDigits(longn)publicclassExercise4_2{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("thesumofdigitsfor“+n+“is"+sumDigits(n));}publicstaticintsumDigits(longn){inttemp=(int)Math.abs(n);intsum=0;while(temp!=0){intremainder=temp%10;sum+=remainder;temp=temp/10;}returnsum;}}12.使用下述方法说明编写一个方法,将摄氏度转换为华氏度:publicstaticdoublecelsToFahr(doublecels)转换公式如下:华氏度=(9.0/5)*摄氏度+32用for循环编写程序,调用celsToFahr方法输出下表:Cels.Temp.Fahr.Temp……………………………………………40.0104.0039.00102.2038.00100.4037.0098.6036.0096.8035.0095.0034.0093.2033.0091.4032.0089.6031.0087.80//Exercise4_4.java:Createamethodfor//convertingCelsiustoFahrenheitpublicclassExercise4_4{publicstaticvoidmain(String[]args){System.out.println("Cels.Temp.\t\tFahr.Temp.");System.out.println("-------------------------------");for(doublecelsius=40;celsius>=31;celsius--){System.out.println(celsius+"\t\t\t"+celsToFahr(celsius));}}publicstaticdoublecelsToFahr(doublecels){return(9.0/5.0)*cels+32;}}13.编写方法,调用该方法求如下数值:1+1/3+…+…+1/n;publicclassFenshuhe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("1+1/3+…+…+1/(2n-1)="+QQ(n));}publicstaticdoubleQQ(intn)(inti=1;doubles=0.0;while(i<=n){s+=1/(2*i-1);i++;}returns;}}14.写一个方法计算给定年数和利率的投资终值。终值由下列公式计算:终值=现值×(1+月利率)年数×12使用下述方法说明:publicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears)publicclassTouzizhongzi{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y;intz;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadInt();System.out.println("TheTouzizhongziis:"+futureTnvestmentValue(x,y,z));}//FindtheminbetweentwodoublevaluespublicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears){doubles=0.0;s=investmentAmount*pow((1+monthlyInterestRate),(years*12));returns;}15.有一个已经排好升序的数组。现输入一个数,要求按原来的规律将它插入数组中。pub
System.out.print(m[i]+””);
bubbleSort(m);
System.out.println();
System.out.println(“排序后的数组:
for(inti=0;iSystem.out.print(m[i]+””);}}6.利用数组实现打印以下的杨辉三角(打印10行)11112113311464115101051publicclassYangHui{publicstaticvoidmain(String[]args){inti,j;inta[][]=newint[11][11];for(i=1;i<11;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<11;i++){for(j=2;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<11;i++){for(j=1;j<=i;j++)System.out.print(a[i][j]+””);System.out.println();}}}7.利用随机数产生一个10行,10列的整型矩阵。完成如下操作:a)输出矩阵中元素的最大值及最大值所在的位置(行、列值)b)输出该矩阵的转置矩阵。publicclassMatrix{publicstaticvoidmain(String[]args){inta[][]=newint[10][10];for(inti=0;i<10;i++)for(intj=0;j<10;j++)a[i][j]=(int)(100*Math.random());System.out.println(“系统随机生成的矩阵是:”);for(inti=0;i<10;i++){for(intj=0;j<10;j++)System.out.print(a[i][j]+“”);System.out.println();}intmax=a[0][0];inthang=0;intlie=0;for(inti=0;i<10;i++){for(intj=0;j<10;j++)if(max{max=a[i][j];hang=i;lie=j;}}System.out.println(“最大数”+max+”在第”+hang+”行,第”+lie+”列”);System.out.println(“它的转置矩阵是:”);for(intj=0;j<10;j++){for(inti=0;i<10;i++)System.out.print(a[i][j]+“”);System.out.println();}}}8.编写方法求12+22+…+…+n2.publicclassPingfanghe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("12+22+…+…+n2is"+YY(n));}publicstaticintYY(intn)(inti=1,s=0;while(i<=n){s+=i*i;i++;}returns;}}9.编写程序是先如下要求:·说明一个方法,判断一个整数是否是素数。使用如下方法说明:publicstaticBooleanisPrime(intnum);一个大于1的整数,如果它的因子只有1和它本身,则被称为素数(primenumber)。例如,isPrime(11)返回true,而isPrime(9)返回false。·用isPrime方法求前100个素数,并每行10个显示出来,输出格式如下:2357111317192329313741434753596167717379838997publicclassExercise4_6{publicstaticvoidmain(String[]args){intcount=0;for(inti=2;i<=100;i++){if(isPrime(i)){System.out.print(i+"");count++;if(count%10==0)System.out.println("");}}}publicstaticbooleanisPrime(intnum){if(num==2){returntrue;}for(inti=2;i<=num/2;i++){if(num%i==0)returnfalse;}returntrue;}}10.编写方法实现对用户输入的3个数(可以是int或double型),输出其最小者。publicclassTestMin{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y,z;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadDouble();System.out.println("Theminimumoneis:"+min(x,y,z));}//Findtheminbetweentwodoublevaluesstaticdoublemin(doublenum1,doublenum2){if(num1>num2)returnnum1;elsereturnnum2;}//Findtheminamongthreedoublevaluesstaticdoublemin(doublenum1,doublenum2,doublenum3){returnmin(min(num1,num2),num3);}}11.写一个方法计算一个整数各位数字的和。使用如下方法说明:publicstaticintsumDigits(longn)publicclassExercise4_2{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("thesumofdigitsfor“+n+“is"+sumDigits(n));}publicstaticintsumDigits(longn){inttemp=(int)Math.abs(n);intsum=0;while(temp!=0){intremainder=temp%10;sum+=remainder;temp=temp/10;}returnsum;}}12.使用下述方法说明编写一个方法,将摄氏度转换为华氏度:publicstaticdoublecelsToFahr(doublecels)转换公式如下:华氏度=(9.0/5)*摄氏度+32用for循环编写程序,调用celsToFahr方法输出下表:Cels.Temp.Fahr.Temp……………………………………………40.0104.0039.00102.2038.00100.4037.0098.6036.0096.8035.0095.0034.0093.2033.0091.4032.0089.6031.0087.80//Exercise4_4.java:Createamethodfor//convertingCelsiustoFahrenheitpublicclassExercise4_4{publicstaticvoidmain(String[]args){System.out.println("Cels.Temp.\t\tFahr.Temp.");System.out.println("-------------------------------");for(doublecelsius=40;celsius>=31;celsius--){System.out.println(celsius+"\t\t\t"+celsToFahr(celsius));}}publicstaticdoublecelsToFahr(doublecels){return(9.0/5.0)*cels+32;}}13.编写方法,调用该方法求如下数值:1+1/3+…+…+1/n;publicclassFenshuhe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("1+1/3+…+…+1/(2n-1)="+QQ(n));}publicstaticdoubleQQ(intn)(inti=1;doubles=0.0;while(i<=n){s+=1/(2*i-1);i++;}returns;}}14.写一个方法计算给定年数和利率的投资终值。终值由下列公式计算:终值=现值×(1+月利率)年数×12使用下述方法说明:publicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears)publicclassTouzizhongzi{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y;intz;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadInt();System.out.println("TheTouzizhongziis:"+futureTnvestmentValue(x,y,z));}//FindtheminbetweentwodoublevaluespublicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears){doubles=0.0;s=investmentAmount*pow((1+monthlyInterestRate),(years*12));returns;}15.有一个已经排好升序的数组。现输入一个数,要求按原来的规律将它插入数组中。pub
6.利用数组实现打印以下的杨辉三角(打印10行)
1
11
121
1331
14641
15101051
publicclassYangHui
inti,j;
inta[][]=newint[11][11];
for(i=1;i<11;i++)
a[i][i]=1;
a[i][1]=1;
for(i=3;i<11;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(j=1;j<=i;j++)
System.out.print(a[i][j]+””);
7.利用随机数产生一个10行,10列的整型矩阵。
完成如下操作:
a)输出矩阵中元素的最大值及最大值所在的位置(行、列值)
b)输出该矩阵的转置矩阵。
publicclassMatrix
inta[][]=newint[10][10];
for(inti=0;i<10;i++)
for(intj=0;j<10;j++)
a[i][j]=(int)(100*Math.random());
System.out.println(“系统随机生成的矩阵是:
System.out.print(a[i][j]+“”);
intmax=a[0][0];
inthang=0;
intlie=0;
if(max{max=a[i][j];hang=i;lie=j;}}System.out.println(“最大数”+max+”在第”+hang+”行,第”+lie+”列”);System.out.println(“它的转置矩阵是:”);for(intj=0;j<10;j++){for(inti=0;i<10;i++)System.out.print(a[i][j]+“”);System.out.println();}}}8.编写方法求12+22+…+…+n2.publicclassPingfanghe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("12+22+…+…+n2is"+YY(n));}publicstaticintYY(intn)(inti=1,s=0;while(i<=n){s+=i*i;i++;}returns;}}9.编写程序是先如下要求:·说明一个方法,判断一个整数是否是素数。使用如下方法说明:publicstaticBooleanisPrime(intnum);一个大于1的整数,如果它的因子只有1和它本身,则被称为素数(primenumber)。例如,isPrime(11)返回true,而isPrime(9)返回false。·用isPrime方法求前100个素数,并每行10个显示出来,输出格式如下:2357111317192329313741434753596167717379838997publicclassExercise4_6{publicstaticvoidmain(String[]args){intcount=0;for(inti=2;i<=100;i++){if(isPrime(i)){System.out.print(i+"");count++;if(count%10==0)System.out.println("");}}}publicstaticbooleanisPrime(intnum){if(num==2){returntrue;}for(inti=2;i<=num/2;i++){if(num%i==0)returnfalse;}returntrue;}}10.编写方法实现对用户输入的3个数(可以是int或double型),输出其最小者。publicclassTestMin{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y,z;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadDouble();System.out.println("Theminimumoneis:"+min(x,y,z));}//Findtheminbetweentwodoublevaluesstaticdoublemin(doublenum1,doublenum2){if(num1>num2)returnnum1;elsereturnnum2;}//Findtheminamongthreedoublevaluesstaticdoublemin(doublenum1,doublenum2,doublenum3){returnmin(min(num1,num2),num3);}}11.写一个方法计算一个整数各位数字的和。使用如下方法说明:publicstaticintsumDigits(longn)publicclassExercise4_2{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("thesumofdigitsfor“+n+“is"+sumDigits(n));}publicstaticintsumDigits(longn){inttemp=(int)Math.abs(n);intsum=0;while(temp!=0){intremainder=temp%10;sum+=remainder;temp=temp/10;}returnsum;}}12.使用下述方法说明编写一个方法,将摄氏度转换为华氏度:publicstaticdoublecelsToFahr(doublecels)转换公式如下:华氏度=(9.0/5)*摄氏度+32用for循环编写程序,调用celsToFahr方法输出下表:Cels.Temp.Fahr.Temp……………………………………………40.0104.0039.00102.2038.00100.4037.0098.6036.0096.8035.0095.0034.0093.2033.0091.4032.0089.6031.0087.80//Exercise4_4.java:Createamethodfor//convertingCelsiustoFahrenheitpublicclassExercise4_4{publicstaticvoidmain(String[]args){System.out.println("Cels.Temp.\t\tFahr.Temp.");System.out.println("-------------------------------");for(doublecelsius=40;celsius>=31;celsius--){System.out.println(celsius+"\t\t\t"+celsToFahr(celsius));}}publicstaticdoublecelsToFahr(doublecels){return(9.0/5.0)*cels+32;}}13.编写方法,调用该方法求如下数值:1+1/3+…+…+1/n;publicclassFenshuhe{publicstaticvoidmain(String[]args){intn;System.out.print(“pleaseinputaninteger:”);n=MyInput.ReadInt();System.out.println("1+1/3+…+…+1/(2n-1)="+QQ(n));}publicstaticdoubleQQ(intn)(inti=1;doubles=0.0;while(i<=n){s+=1/(2*i-1);i++;}returns;}}14.写一个方法计算给定年数和利率的投资终值。终值由下列公式计算:终值=现值×(1+月利率)年数×12使用下述方法说明:publicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears)publicclassTouzizhongzi{//Mainmethodpublicstaticvoidmain(String[]args){doublex,y;intz;x=MyInput.ReadDouble();y=MyInput.ReadDouble();z=MyInput.ReadInt();System.out.println("TheTouzizhongziis:"+futureTnvestmentValue(x,y,z));}//FindtheminbetweentwodoublevaluespublicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,doublemonthlyInterestRate,intyears){doubles=0.0;s=investmentAmount*pow((1+monthlyInterestRate),(years*12));returns;}15.有一个已经排好升序的数组。现输入一个数,要求按原来的规律将它插入数组中。pub
max=a[i][j];
hang=i;
lie=j;
System.out.println(“最大数”+max+”在第”+hang+”行,第”+lie+”列”);
System.out.println(“它的转置矩阵是:
8.编写方法求12+22+…+…+n2.
publicclassPingfanghe
{intn;
System.out.print(“pleaseinputaninteger:
n=MyInput.ReadInt();
System.out.println("12+22+…+…+n2is"+YY(n));
publicstaticintYY(intn)
(inti=1,s=0;
while(i<=n)
{s+=i*i;i++;}
returns;
9.编写程序是先如下要求:
·说明一个方法,判断一个整数是否是素数。
使用如下方法说明:
publicstaticBooleanisPrime(intnum);
一个大于1的整数,如果它的因子只有1和它本身,则被称为素数(primenumber)。
例如,isPrime(11)返回true,而isPrime(9)返回false。
·用isPrime方法求前100个素数,并每行10个显示出来,输出格式如下:
2357111317192329
31374143475359616771
7379838997
publicclassExercise4_6
intcount=0;
for(inti=2;i<=100;i++)
if(isPrime(i))
System.out.print(i+"");
count++;
if(count%10==0)
System.out.println("");
publicstaticbooleanisPrime(intnum)
if(num==2)
returntrue;
for(inti=2;i<=num/2;i++)
if(num%i==0)
10.编写方法实现对用户输入的3个数(可以是int或double型),输出其最小者。
publicclassTestMin
//Mainmethod
doublex,y,z;
x=MyInput.ReadDouble();
y=MyInput.ReadDouble();
z=MyInput.ReadDouble();
System.out.println("Theminimumoneis:
"
+min(x,y,z));
//Findtheminbetweentwodoublevalues
staticdoublemin(doublenum1,doublenum2)
if(num1>num2)
returnnum1;
returnnum2;
//Findtheminamongthreedoublevalues
staticdoublemin(doublenum1,doublenum2,doublenum3)
returnmin(min(num1,num2),num3);
11.写一个方法计算一个整数各位数字的和。
publicstaticintsumDigits(longn)
publicclassExercise4_2
intn;
System.out.println("thesumofdigitsfor“+n+“is"+sumDigits(n));
inttemp=(int)Math.abs(n);
intsum=0;
while(temp!
intremainder=temp%10;
sum+=remainder;
temp=temp/10;
returnsum;
12.使用下述方法说明编写一个方法,将摄氏度转换为华氏度:
publicstaticdoublecelsToFahr(doublecels)
转换公式如下:
华氏度=(9.0/5)*摄氏度+32
用for循环编写程序,调用celsToFahr方法输出下表:
Cels.Temp.Fahr.Temp
……………………………………………
40.0104.00
39.00102.20
38.00100.40
37.0098.60
36.0096.80
35.0095.00
34.0093.20
33.0091.40
32.0089.60
31.0087.80
//Exercise4_4.java:
Createamethodfor
//convertingCelsiustoFahrenheit
publicclassExercise4_4
System.out.println("Cels.Temp.\t\tFahr.Temp.");
System.out.println("-------------------------------");
for(doublecelsius=40;celsius>=31;celsius--)
System.out.println(celsius+"\t\t\t"+celsToFahr(celsius));
return(9.0/5.0)*cels+32;
13.编写方法,调用该方法求如下数值:
1+1/3+…+…+1/n;
publicclassFenshuhe
System.out.println("1+1/3+…+…+1/(2n-1)="+QQ(n));
publicstaticdoubleQQ(intn)
(inti=1;
doubles=0.0;
{s+=1/(2*i-1);i++;}
14.写一个方法计算给定年数和利率的投资终值。
终值由下列公式计算:
终值=现值×(1+月利率)年数×12
使用下述方法说明:
publicstaticdoublefutureTnvestmentValue(doubleinvestmentAmount,
doublemonthlyInterestRate,
intyears)
publicclassTouzizhongzi
doublex,y;
intz;
z=MyInput.ReadInt();
System.out.println("TheTouzizhongziis:
"+futureTnvestmentValue(x,y,z));
{doubles=0.0;
s=investmentAmount*pow((1+monthlyInterestRate),(years*12));
15.有一个已经排好升序的数组。
现输入一个数,要求按原来的规律将它插入数组中。
pub
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1