第四章题库.docx
- 文档编号:17679671
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:26
- 大小:20.94KB
第四章题库.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)
intfun(inta,intb){__________________;}
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();
}
publicstaticvoidmain(String[]args)
{
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);
}
publicstaticvoidmain(String[]args)
{
System.out.println(“请输入两个整数m,n,我们将给出这两个数的最大公约数和最小公倍数:
”);
intm=MyInput.readInt();
intn=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);
}
publicstaticvoidmain(String[]args)
{
System.out.println(“请输入整数n:
”);
intn=MyInput.readInt();
sum(n);
}
}
5.利用数组实现对10个整数进行升序排列,并输出结果。
publicclassBubbleSort
{
publicstaticvoidbubbleSort(int[]a)
{
intn=a.length;
inttemp;
for(inti=n-1;i>0;i--)
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 题库