JAVA实验课填空题集合.docx
《JAVA实验课填空题集合.docx》由会员分享,可在线阅读,更多相关《JAVA实验课填空题集合.docx(35页珍藏版)》请在冰点文库上搜索。
JAVA实验课填空题集合
说明:
红色部分为填空部分,只供参考,如用与作弊,本非人概不负责,请注意喔!
废话到此!
--苏嘉良上
实验2
4:
按要求把类Russian里面代码补充完整并编译
publicclassRussian{
publicstaticvoidmain(Stringargs[]){
intstartPosition=0,endPosition=0;
charcStart='а',cEnd='я';
【代码1】startPosition=(int)cStart;//cStart做int类型转换运算,并将结果赋值给startPosition
【代码2】endPosition=(int)cEnd;//cEnd做int类型转换运算,并将结果赋值给endPosition
System.out.println("俄文字母共有:
");
System.out.println(endPosition-startPosition+1+"个");
for(inti=startPosition;i<=endPosition;i++){
charc='\0';
【代码3】c=(char)i;//i做char类型转换运算,并将结果赋值给c
System.out.print(""+c);
}
实验3
6:
猜数字游戏。
实验要求:
编写一个Java应用程序,实现下列功能:
1)程序随机分配给客户一个1—100之间的整数
2)用户在输入对话框中输入自己的猜测
3)程序返回提示信息,提示信息分别是:
“猜大了”、“猜小了”和“猜对了”。
4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。
✧程序模板:
GuessNumber.java
importjavax.swing.JOptionPane;
publicclassGuessNumber
{
publicstaticvoidmain(Stringargs[])
System.out.println("给你一个1至100之间的整数,请猜测这个数");
intrealNumber=(int)(Math.random()*100)+1;
intyourGuess=0;
Stringstr=JOptionPane.showInputDialog("输入您的猜测:
yourGuess=Integer.parseInt(str);
while(【代码1】realNumber!
=yourGuess)//循环条件
if(【代码2】realNumber{str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}elseif(【代码3】realNumber>yourGuess)//条件代码{str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}}System.out.println("猜对了!");}}实验44:将下面代码补充完整classA{【代码】floata;//声明一个实例float变量astaticfloatb;//声明一个static的float变量bvoidsetA(floataa){【代码】a=aa;//将参数aa的值赋值给成员变量a}voidsetB(floatbb){【代码】b=bb;//将参数bb的值赋值给成员变量b}floatgetA(){returna;}floatgetB(){returnb;}voidinputA(){System.out.println(a);}staticvoidinputB(){System.out.println(b);}}publicclassEx4{publicstaticvoidmain(Stringargs[]){A.b=100;A.inputB();Acat=newA();Adog=newA();cat.setA(200);//cat调用方法setA(inta)将cat的成员a的值设置为200cat.setB(400);//cat调用方法setB(intb)将cat的成员b的值设置为400dog.setA(200);//dog调用方法setA(inta)将dog的成员a的值设置为200dog.setB(900);//dog调用方法setB(intb)将dog的成员b的值设置为900cat.inputA();//cat调用inputA()cat.inputB();//cat调用inputB()dog.inputA();//dog调用inputA()dog.inputB();//dog调用inputB()}}实验62:【实验任务】编写一个Java程序,反映出方法重载的使用特点,该程序包含多个重载的加法运算,如整形加法、实形加法以及混合加法运算等。从中体会方法重载的用法和优点。【实验内容】仔细阅读下面程序,将程序中的代码补充完整,编辑并运行程序查看结果。//Overload.javaclassOverload{intm,n;Overload(){m=0;n=0;}Overload(inta,intb){【代码1】m=a;//初始化变量m【代码2】n=b;//初始化变量n}intadd(){System.out.println("无参加法"+m+"+"+n+"="+(m+n));returnm+n;}intadd(inta,intb){System.out.println("整型加法"+a+"+"+b+"="+(a+b));returna+b;}doubleadd(doublea,doubleb){System.out.println("实型加法"+a+"+"+b+"="+(a+b));returna+b;}doubleadd(inta,intb,doublec){System.out.println("混合加法"+a+"+"+b+"+"+c+"="+(a+b+c));【代码3】return(a+b+c);//返回加法运算的结果}publicstaticvoidmain(String[]args){intix,iy;doubledx,dy;【代码4】Overloadov=newOverload();//声明一个Overload对象并初始化ix=ov.add();iy=ov.add(3,6);【代码5】dx=ov.add(2.1,3.5);//调用实型加法函数参数为2.1,3.5dy=ov.add(3,6,2.2);}}5:实验任务】编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以查看get也可以重新设置set,另外,圆环还可以返回其面积。提示:this关键字的使用,【实验内容】仔细阅读下面程序,将程序中的代码补充完整,编辑并运行程序查看结果。publicclassRing{privatedoubleinnerRadius;//内半径privatedoubleouterRadius;//外半径publicStringcolor;//颜色publicRing(doubleinnerRadius,doubleouterRadius,Stringcolor){【代码】this.innerRadius=innerRadius;//初始化内半径【代码1】this.outerRadius=outerRadius;//初始化外半径【代码1】this.color=color;//初始化颜色}publicdoublegetInnerRadius(){【代码2】returninnerRadius;//返回内半径}publicdoublegetOuterRadius(){returnouterRadius;}publicvoidsetInnerRadius(doubleinnerRadius){【代码】this.innerRadius=innerRadius;//设置内半径}publicvoidsetOuterRadius(doubleouterRadius){【代码】this.outerRadius=outerRadius;//设置外半径}publicvoidsetColor(Stringc){【代码】this.color=c;//设置颜色}publicdoublegetArea(){return(outerRadius*outerRadius-innerRadius*innerRadius)*3.1415;}}classTest{publicstaticvoidmain(String[]args){Ringring=newRing(5,8,"red");System.out.println("圆环的内半径:"+ring.getInnerRadius());System.out.println("圆环的外半径:"+ring.getOuterRadius());System.out.println("圆环的颜色:"+ring.color);System.out.println("圆环的面积:"+ring.getArea()+"\n");ring.setInnerRadius(4);【代码】ring.setOuterRadius(6);//设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径:"+ring.getInnerRadius());System.out.println("圆环的外半径:"+ring.getOuterRadius());System.out.println("圆环的颜色:"+ring.color);System.out.println("圆环的面积:"+ring.getArea());}}实验81:下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。classTrowsDemo{ staticvoidprocedure()throwsIllegalAccessExcepton,IllegalAccessException { System.out.println(“insideprocedure”);thrownewIllegalAccessException(“demo”); } publicstaticvoidmain(Stringargs[]) { try { procedure(); } catch(IllegalAccessExceptione) { System.out.println(“捕获:”+e); } } 2:填空模板代码ExceptionExample.java【代码1】publicclassNoLowerLetterextendsException//类声明,声明一个Exception的子类NoLowerLetter//提示:模仿P89,例4-8{publicvoidprint(){System.out.printf("%c",'#');}}【代码2】publicclassNoDigitextendsException//类声明,声明一个Exception的子类NoDigit{publicvoidprint(){System.out.printf("%c",'*');}}classPeople{voidprintLetter(charc)throwsNoLowerLetter{if(c<'a'||c>'z'){NoLowerLetternoLowerLetter=【代码3】newNoLowerLetter();//创建NoLowerLetter类型对象【代码4】thrownoLowerLetter;//抛出noLowerLetter}else{System.out.print(c);}}voidprintDigit(charc)throwsNoDigit{if(c<'1'||c>'9'){NoDigitnoDigit=【代码5】newNoDigt();//创建NoDigit()类型对象【代码6】thrownoDigit;//抛出noDigit}else{System.out.print(c);}}}publicclassExceptionExample{publicstaticvoidmain(Stringargs[]){Peoplepeople=newPeople();for(inti=0;i<128;i++){try{people.printLetter((char)i);}catch(NoLowerLettere){e.print();}}for(inti=0;i<128;i++){try{people.printDigit((char)i);}catch(NoDigite){e.print();}}}}3下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。publicclassHelloWorld{ inti=0; Stringgreetings[]= { “Helloworld!”, “No,Imeanit!”, “HELLOWORLD!!” }; while(i<4) { i++;}try{System.out.println(greeting[i]);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(“Re-settingIndexValue”);i=-1;finally { System.out.println(“Thisisalwaysprinted”); }}}}4(1)定义一个Name类,私有数据成员Stringxing;//姓Stringming;//名方法:数据成员的getter,setter函数构造函数Name(Stringxing,Stringming)(2)定义一个Person类;数据成员protectedNamename;//利用上面的Name类protectedcharsex;//MorF方法:构造函数Person(Namename,charsex)数据成员的getter,setter函数(3)定义一个Student类,继承Person类数据成员:protectedStringschool;//学校名Protectedintgrade;//1-12表示小学到高中方法:构造函数Student(Stringschool,intgrade)数据成员的getter,setter函数voidupdate(Stringschool,intgrade)//更新学生的数据并进行测试提示:publicclassName{privateStringxing;//姓privateStringming;//名publicName(Stringxing,Stringming){//构造函数,初始化xing,mingthis.xing=xing;this.ming=ming;}publicStringgetXing(){returnxing;}//返回xingpublicStringgetMing(){returnming;}//返回mingpublicvoidsetXing(Stringxing){//设置xingthis.xing=xing;}publicvoidsetMing(Stringming){//设置mingthis.ming=ming;}}classPerson{protectedNamename;protectedcharsex;//MorFpublicPerson(){}publicPerson(Namename,charsex){//构造函数,初始化name,sexthis.name,=name;this.sex=sex;}publicNamegetName(){returnname;}//返回namepublicchargetSex(){returnsex;}//返回sexpublicvoidsetName(Namename){//设置namethis.name=name;}publicvoidsetSex(charsex){//设置sexthis.sex=sex;}}publicclassStudentextendsperson{//继承personprotectedStringschool;//学校名protectedintgrade;//1-12表示小学到高中publicStudent(){}publicStudent(Namename,charsex){//构造函数,初始化数据this.name,=name;this.sex=sex;}publicStringgetSchool(){returnschool;}//返回schoolpublicintgetGrade(){returngrade;}//返回gradepublicvoidsetSchool(Stringschool){this.shool=school;}//设置schoolpublicvoidsetGrade(intgrade){this.grade=grade;}//设置gradepublicvoidupdate(Stringschool,intgrade)//更新学生的数据{…..}}classTest{publicstaticvoidmain(String[]args){Namett=newName("zhang","ming");Students=newStudent(n,'M');s.setSchool("华南师范大学");s.setGrade(2);System.out.println("姓名:"+s.getName().getXing()+s.getName().getMing()+",性别:"+s.getSex()+",学校:"+s.getSchool()+",年级"+s.getGrade());}}实验104:上转型对象abstractpublicclassEmployee{publicabstractdoubleearnings();}publicclassYearWorkerextendsEmployee{【代码1】publicdoubleearnings(){return50000;}//重写earnings()方法,YearWorker的年薪为50000元}publicclassMonthWorkerextendsEmployee{【代码2】publicdoubleearnings(){return12*2500;}//重写earnings()方法,MonthWorker的年薪为12*2500元}publicclassWeekWorkerextendsEmployee{【代码3】publicdoubleearnings(){return52*500;}//重写earnings()方法,WeekWorker的年薪为52*500元}publicclassCompany{Employee[]employee;doublesalaries=0;Company(Employee[]employee){this.employee=employee;}pub
str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:
elseif(【代码3】realNumber>yourGuess)//条件代码
str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:
System.out.println("猜对了!
实验4
将下面代码补充完整
classA{
【代码】floata;//声明一个实例float变量a
staticfloatb;//声明一个static的float变量b
voidsetA(floataa){
【代码】a=aa;//将参数aa的值赋值给成员变量a
voidsetB(floatbb){
【代码】b=bb;//将参数bb的值赋值给成员变量b
floatgetA(){
returna;
floatgetB(){
returnb;
voidinputA(){
System.out.println(a);
staticvoidinputB(){
System.out.println(b);
publicclassEx4{
A.b=100;
A.inputB();
Acat=newA();
Adog=newA();
cat.setA(200);//cat调用方法setA(inta)将cat的成员a的值设置为200
cat.setB(400);//cat调用方法setB(intb)将cat的成员b的值设置为400
dog.setA(200);//dog调用方法setA(inta)将dog的成员a的值设置为200
dog.setB(900);//dog调用方法setB(intb)将dog的成员b的值设置为900
cat.inputA();//cat调用inputA()
cat.inputB();//cat调用inputB()
dog.inputA();//dog调用inputA()
dog.inputB();//dog调用inputB()}
实验6
2:
【实验任务】
编写一个Java程序,反映出方法重载的使用特点,该程序包含多个重载的加法运算,如整形加法、实形加法以及混合加法运算等。
从中体会方法重载的用法和优点。
【实验内容】
仔细阅读下面程序,将程序中的代码补充完整,编辑并运行程序查看结果。
//Overload.java
classOverload{
intm,n;
Overload(){
m=0;
n=0;
Overload(inta,intb){
【代码1】m=a;//初始化变量m
【代码2】n=b;//初始化变量n
intadd(){
System.out.println("无参加法"+m+"+"+n+"="+(m+n));
returnm+n;
intadd(inta,intb){
System.out.println("整型加法"+a+"+"+b+"="+(a+b));
returna+b;
doubleadd(doublea,doubleb){
System.out.println("实型加法"+a+"+"+b+"="+(a+b));
doubleadd(inta,intb,doublec){
System.out.println("混合加法"+a+"+"+b+"+"+c+"="+(a+b+c));
【代码3】return(a+b+c);//返回加法运算的结果
publicstaticvoidmain(String[]args){
intix,iy;
doubledx,dy;
【代码4】Overloadov=newOverload();//声明一个Overload对象并初始化
ix=ov.add();
iy=ov.add(3,6);
【代码5】dx=ov.add(2.1,3.5);//调用实型加法函数参数为2.1,3.5
dy=ov.add(3,6,2.2);
5:
实验任务】
编写一个圆环类Ring的Java程序。
圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以查看get也可以重新设置set,另外,圆环还可以返回其面积。
提示:
this关键字的使用,
publicclassRing{
privatedoubleinnerRadius;//内半径
privatedoubleouterRadius;//外半径
publicStringcolor;//颜色
publicRing(doubleinnerRadius,doubleouterRadius,Stringcolor){
【代码】this.innerRadius=innerRadius;//初始化内半径
【代码1】this.outerRadius=outerRadius;//初始化外半径
【代码1】this.color=color;//初始化颜色
publicdoublegetInnerRadius(){
【代码2】returninnerRadius;//返回内半径
publicdoublegetOuterRadius(){
returnouterRadius;
publicvoidsetInnerRadius(doubleinnerRadius){
【代码】this.innerRadius=innerRadius;//设置内半径
publicvoidsetOuterRadius(doubleouterRadius){
【代码】this.outerRadius=outerRadius;//设置外半径
publicvoidsetColor(Stringc){
【代码】this.color=c;//设置颜色
publicdoublegetArea(){
return(outerRadius*outerRadius-
innerRadius*innerRadius)*3.1415;
classTest{
Ringring=newRing(5,8,"red");
System.out.println("圆环的内半径:
"+ring.getInnerRadius());
System.out.println("圆环的外半径:
"+ring.getOuterRadius());
System.out.println("圆环的颜色:
"+ring.color);
System.out.println("圆环的面积:
"+ring.getArea()+"\n");
ring.setInnerRadius(4);
【代码】ring.setOuterRadius(6);//设置圆环ring的外半径为6
ring.setColor("blue");
"+ring.getArea());
实验8
1:
下面程序抛出了一个“异常”并捕捉它。
请在横线处填入适当内容完成程序。
classTrowsDemo
staticvoidprocedure()throwsIllegalAccessExcepton,IllegalAccessException
System.out.println(“insideprocedure”);
thrownewIllegalAccessException(“demo”);
try
procedure();
catch(IllegalAccessExceptione)
System.out.println(“捕获:
”+e);
填空
模板代码
ExceptionExample.java
【代码1】publicclassNoLowerLetterextendsException//类声明,声明一个Exception的子类NoLowerLetter
//提示:
模仿P89,例4-8
publicvoidprint(){
System.out.printf("%c",'#');
【代码2】publicclassNoDigitextendsException//类声明,声明一个Exception的子类NoDigit
System.out.printf("%c",'*');
classPeople{
voidprintLetter(charc)throwsNoLowerLetter{
if(c<'a'||c>'z'){
NoLowerLetternoLowerLetter=【代码3】newNoLowerLetter();//创建NoLowerLetter类型对象
【代码4】thrownoLowerLetter;//抛出noLowerLetter
else{
System.out.print(c);
voidprintDigit(charc)throwsNoDigit{
if(c<'1'||c>'9'){
NoDigitnoDigit=【代码5】newNoDigt();//创建NoDigit()类型对象
【代码6】thrownoDigit;//抛出noDigit
publicclassExceptionExample{
Peoplepeople=newPeople();
for(inti=0;i<128;i++){
people.printLetter((char)i);
catch(NoLowerLettere)
e.print();
people.printDigit((char)i);
catch(NoDigite)
3下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。
请在横线处填入适当的内容完成程序。
publicclassHelloWorld
inti=0;
Stringgreetings[]=
“Helloworld!
”,
“No,Imeanit!
“HELLOWORLD!
!
”
};
while(i<4)
i++;
try{
System.out.println(greeting[i]);
catch(ArrayIndexOutOfBoundsExceptione)
System.out.println(“Re-settingIndexValue”);
i=-1;
finally
System.out.println(“Thisisalwaysprinted”);
4
(1)定义一个Name类,私有数据成员Stringxing;//姓
Stringming;//名
方法:
数据成员的getter,setter函数
构造函数Name(Stringxing,Stringming)
(2)定义一个Person类;数据成员protectedNamename;//利用上面的Name类
protectedcharsex;//MorF
构造函数Person(Namename,charsex)
(3)定义一个Student类,继承Person类
数据成员:
protectedStringschool;//学校名
Protectedintgrade;//1-12表示小学到高中
构造函数Student(Stringschool,intgrade)
voidupdate(Stringschool,intgrade)//更新学生的数据
并进行测试
publicclassName{
privateStringxing;//姓
privateStringming;//名
publicName(Stringxing,Stringming){//构造函数,初始化xing,ming
this.xing=xing;
this.ming=ming;
publicStringgetXing(){returnxing;}//返回xing
publicStringgetMing(){returnming;}//返回ming
publicvoidsetXing(Stringxing){//设置xing
publicvoidsetMing(Stringming){//设置ming
classPerson{
protectedNamename;
publicPerson(){}
publicPerson(Namename,charsex){//构造函数,初始化name,sex
this.name,=name;
this.sex=sex;
publicNamegetName(){returnname;}//返回name
publicchargetSex(){returnsex;}//返回sex
publicvoidsetName(Namename){//设置name
this.name=name;
publicvoidsetSex(charsex){//设置sex
publicclassStudentextendsperson{//继承person
protectedintgrade;//1-12表示小学到高中
publicStudent(){}
publicStudent(Namename,charsex){//构造函数,初始化数据
publicStringgetSchool(){returnschool;}//返回school
publicintgetGrade(){returngrade;}//返回grade
publicvoidsetSchool(Stringschool){this.shool=school;}//设置school
publicvoidsetGrade(intgrade){this.grade=grade;}//设置grade
publicvoidupdate(Stringschool,intgrade)//更新学生的数据
…..
Namett=newName("zhang","ming");
Students=newStudent(n,'M');
s.setSchool("华南师范大学");
s.setGrade
(2);
System.out.println("姓名:
"+s.getName().getXing()+s.getName().getMing()+
",性别:
"+s.getSex()+",学校:
"+s.getSchool()+",年级"+s.getGrade());
实验10
上转型对象
abstractpublicclassEmployee{
publicabstractdoubleearnings();
publicclassYearWorkerextendsEmployee{
【代码1】publicdoubleearnings(){return50000;}//重写earnings()方法,YearWorker的年薪为50000元
publicclassMonthWorkerextendsEmployee{
【代码2】publicdoubleearnings(){return12*2500;}//重写earnings()方法,MonthWorker的年薪为12*2500元
publicclassWeekWorkerextendsEmployee{
【代码3】publicdoubleearnings(){return52*500;}//重写earnings()方法,WeekWorker的年薪为52*500元
publicclassCompany{
Employee[]employee;
doublesalaries=0;
Company(Employee[]employee){
this.employee=employee;
pub
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2