java作业汇总.docx
《java作业汇总.docx》由会员分享,可在线阅读,更多相关《java作业汇总.docx(27页珍藏版)》请在冰豆网上搜索。
java作业汇总
/*
String的特点:
1.是类而不是类型.
2.为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String是final类,即不能被继承.
三者的区别:
1.StringBuffer也是对一串字符进行操作,但是可变类。
StringBuider也是对一串字符进行操作,也是可变类。
2.三者在执行速度方面的比较:
StringBuilder>StringBuffer>String下面这个程序经过运行time1=20043,time2=7,time3=3。
*/
classDemo
{
publicstaticvoidmain(Stringargs[])
Stringtempstr="abcdefghijklmnopqrstuvwxyz";
inttimes=10000;
doublestart1=System.currentTimeMillis();
Stringstr="";
for(inti=0;i{str+=tempstr;}doubleend1=System.currentTimeMillis();doubletime1=(end1-start1);System.out.println("time1="+time1);doublestart2=System.currentTimeMillis();StringBuffersb=newStringBuffer();for(inti=0;i{sb.append(tempstr);}doubleend2=System.currentTimeMillis();doubletime2=(end2-start2);System.out.println("time2="+time2);doublestart3=System.currentTimeMillis();StringBuildersb2=newStringBuilder();for(inti=0;i{sb2.append(tempstr);}doubleend3=System.currentTimeMillis();doubletime3=(end3-start3);System.out.println("time3="+time3);}}第二次:/*有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,打印输出依次退出小朋友的编号?(用数组实现)*/classDemo{publicstaticvoidmain(Stringargs[]){intpeople[]=newint[500];intcount=0;intsize=500;intindex=0;for(inti=1;i<=500;i++){people[i-1]=i;}while(size!=1){if(people[index]!=0){count++;if(count==3){count=0;System.out.println(people[index]);people[index]=0;size--;}}index++;if(index==500){index=0;}}}}/*编程实现:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(在控制台打印输出)*/classMathDemo{publicstaticvoidmain(Stringargs[]){intsum,temp;for(inti=1;i<=4;i++){for(intj=1;j<4;j++){for(intk=1;k<=4;k++){if(i!=j&&i!=k&&j!=k){temp=i*100+j*10+k;System.out.println(temp);sum=sum+1;}}}}}}第三次::/*作业三:定义一个自行车类(Bicycle),属性是:车品牌、颜色。方法是:启动、停车。定义一个电动自行车类(Moto)继承自行车类,定义自己的方法:行驶方法。用Moto类实例化对象,分别调用启动、行驶、停车三方法(模拟骑车过程)。*/classBicycle{intcode;Stringcolor;publicvoidstart(){System.out.println("start.....");}publicvoidstop(){System.out.println("stop.....");}}classMotoextendsBicycle{publicvoidrun(){System.out.println("run.....");}}classDemo{publicstaticvoidmain(Stringargs[]){Motom=newMoto();m.start();m.run();m.stop();}}/*作业二:编写一个家庭类,有三个属性:外观、存折、电话,分别赋值,另外有三个方法:查看存折金额(私有),拨打电话(保护),观看房屋(公共)在测试类里实例化对象并调用以上3个方法,结果是什么?并说明原因?*/classfamily{inttelephone;intdeposit;Stringapperance;family(StringApperance,intTelephone,intDeposit){apperance=Apperance;telephone=Telephone;deposit=Deposit;}privatevoidcheckdeposit(){System.out.println("存折金额为"+deposit);}protectedvoidcallphone(){System.out.println("号码:"+telephone);}publicvoidwatchhouse(){System.out.println("外观"+apperance);}}classFamilyDemo{publicstaticvoidmain(Stringargs[]){familyf1=newfamily("wonderfui",1524545898,2345);f1.checkdeposit();f1.callphone();f1.watchhouse();}}/*运行结果:拆看存折金额函数不能运行,因为此函数为私有的,它只能被自身的类访问,其他的函数能运行*//*作业一:定义一个表示学生信息的类Student,要求如下:(1)类Student的成员变量:sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。(2)类Student带参数的构造方法:在构造方法中通过形参完成对成员变量的赋值操作。(3)类Student的方法成员:getNo():获得学号;getName():获得姓名;getSex():获得性别;getAge()获得年龄;getJava():获得Java课程成绩根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。*/classStudent{Student(intnumber,Stringname,Stringsex,intage,intjavascore){sNo=number;sName=name;sSex=sex;sAge=age;sJava=javascore;}voidgetNo(){System.out.println("number="+sNo);}voidgetName(){System.out.println("name="+sName);}voidgetSex(){System.out.println("sex="+sSex);}voidgetAge(){System.out.println("age="+sAge);}voidgetJava(){System.out.println("javascore="+sJava);}IntsNo;StringsName;StringsSex;intsAge;intsJava;}classStudentDemo{publicstaticvoidmain(Stringargs[]){intsum;floataverage;Student[]stu=newStudent[5];stu[0]=newStudent(1,"s","g",12,45);stu[1]=newStudent(2,"as","b",13,98);stu[2]=newStudent(3,"gs","b",14,60);stu[3]=newStudent(4,"by","g",15,91);stu[4]=newStudent(5,"hw","g",16,63);intmax=stu[0].sJava;intmin=stu[0].sJava;for(inti=0;istu[i].getNo();stu[1].getName();stu[i].getSex();stu[i].getAge();stu[i].getJava();if(stu[i].sJava>max){max=stu[i].sJava;}if(stu[i].sJavamin=stu[i].sJava;}}sum=stu[0].sJava+stu[1].sJava+stu[2].sJava+stu[3].sJava+stu[4].sJava;average=sum/5;System.out.println("average="+average);System.out.println("max="+max);System.out.println("min="+min);}}第四次:packageshape; /*作业四:多态编程练习设计一个形状类Shape,方法:求周长和求面积形状类的子类:Rect(矩形),Circle(圆形),Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积.*/classShape{voidzhouchang(){}voidmianji(){}doublep;doubles;}classRectextendsShape{Rect(){}Rect(doublex,doubley){this.x=x;this.y=y;}voidzhouchang(){p=(x+y)*2;System.out.println("长方形的周长p="+p);}voidmianji(){s=x*y;System.out.println("长方形的面积s="+s);}doublex,y;}classCircleextendsShape{Circle(doubler){this.r=r;}voidzhouchang(){p=2*3.14*r;System.out.println("圆形的周长p="+p);}voidmianji(){s=3.14*r*r;System.out.println("圆形的的面积s="+s);}doubler;}classSquareextendsRect{Square(doublea){this.a=a;}voidzhouchang(){p=4*a;System.out.println("正方形的周长p="+p);}voidmianji(){s=a*a;System.out.println("正方形的的面积s="+s);}doublea;}classDemo{publicstaticvoidmain(Stringargs[]){Shape[]s=newShape[3];s[0]=newRect(10,10);s[1]=newCircle(3);s[2]=newSquare(4);for(inti=0;i{s[i].zhouchang();s[i].mianji();}}}第五次::/*2.定义一个接口Flyer,其中有一个方法fly();分别定义两个类Bird(鸟),Airplane(飞机)实现接口Flyer,并定义一个测试类,在该类中中创建Bird和Airplane两个实例,分别调用fly()方法,在控制台输出结果*/interfaceFlyer{voidfly();}classBirdimplementsFlyer{Bird(){}publicvoidfly(){System.out.println("Birdfly");}}classAirplaneimplementsFlyer{Airplane(){}publicvoidfly(){System.out.println("Airplanefly");}}classTest{publicstaticvoidmain(Stringargs[]){Birdb=newBird();b.fly();Airplanea=newAirplane();a.fly();}}/*1.创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。。*/abstractclassVehicle{abstractStringNoOfWheels();}classCarextendsVehicle{StringNoOfWheels(){System.out.println("car:四轮车");returnnull;}}classMotorbikeextendsVehicle{StringNoOfWheels(){System.out.println("Motorbike:双轮车");returnnull;}}classTest{publicstaticvoidmain(Stringargs[]){Carc=newCar();Motorbikem=newMotorbike();c.NoOfWheels();m.NoOfWheels();}}第七次/*输入小于10的两个正整数,并计算两个数的乘积。要求:①自定义一个异常类②当输入两个数超出范围,抛出自定义异常③在调用方法中捕获异常,并输出异常信息*/classNumberRangeExceptionextendsException{publicNumberRangeException(Stringmsg){super(msg);}//throws重新抛出异常NumberRangeExceptionpublicintCalcAnswer(Stringstr1,Stringstr2)throwsNumberRangeException{intint1,int2;intanswer=0;try{int1=Integer.parseInt(str1);//将str1转换成int类型的,可能产生异常对象NumberFormatExceptioneint2=Integer.parseInt(str2);//将str2转换成int类型的,可能产生异常对象NumberFormatExceptioneif((int1<0)||(int1>10)||(int2<0)||(int2>10)){NumberRangeExceptione=newNumberRangeException("Numbersarenotwithinthespecifiedrange.");throwe;//抛出自定义异常对象NumberRangeExceptione}answer=int1*int2;}catch(NumberFormatExceptione){//捕获异常对象NumberRangeExceptioneSystem.out.println(e.toString());/*toString()是一个方法,它的作用是将变量由其它类型转变为字符串类型。这里System.out.println(e.toString()就是调用系统输入(System.Out)的println()方法,这个方法需要传入一个字符串类型的参数。这时,e.toString(),即把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。若出现错误被catch到之后输出错误信息*/}returnanswer;}//在调用方法getAnswer中捕获异常publicvoidgetAnswer(){StringanswerStr;try{//测试1:将num1、num2的中的数字设置为小于0或大于10,查看捕获异常结果。Stringnum1="13";Stringnum2="15";intanswer=CalcAnswer(num1,num2);//抛出异常对象NumberRangeExceptioneanswerStr=String.valueOf(answer);//将int型的answer转换成字符串类型}catch(NumberRangeExceptione){//捕获异常对象NumberRangeExceptioneanswerStr=e.getMessage();}System.out.println(answerStr);}publicstaticvoidmain(Stringargs[]){NumberRangeExceptiont1=newNumberRangeException("test");t1.getAnswer();}}机房作业/*编程实现Student类,其包含成员变量name、age、classNum,新建初始化3个Student对象,添加到集合类HashSet对象中,并在屏幕上输出3个Student对象的属性值;为了简便起见,可以在Student类中改写方法toString,输出格式为“姓名:xxx,年龄:xxx,班级:xxx”。*/importjava.util.*;classStudent{Student(){}publicStringtoString(){return("姓名"+name+",年龄"+age+",班级"+classNum);}Student(Stringname,intage,StringclassNum){this.name=name;this.age=age;this.classNum=classNum;}privateStringname,classNum;privateint
str+=tempstr;
}
doubleend1=System.currentTimeMillis();
doubletime1=(end1-start1);
System.out.println("time1="+time1);
doublestart2=System.currentTimeMillis();
StringBuffersb=newStringBuffer();
for(inti=0;i{sb.append(tempstr);}doubleend2=System.currentTimeMillis();doubletime2=(end2-start2);System.out.println("time2="+time2);doublestart3=System.currentTimeMillis();StringBuildersb2=newStringBuilder();for(inti=0;i{sb2.append(tempstr);}doubleend3=System.currentTimeMillis();doubletime3=(end3-start3);System.out.println("time3="+time3);}}第二次:/*有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,打印输出依次退出小朋友的编号?(用数组实现)*/classDemo{publicstaticvoidmain(Stringargs[]){intpeople[]=newint[500];intcount=0;intsize=500;intindex=0;for(inti=1;i<=500;i++){people[i-1]=i;}while(size!=1){if(people[index]!=0){count++;if(count==3){count=0;System.out.println(people[index]);people[index]=0;size--;}}index++;if(index==500){index=0;}}}}/*编程实现:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(在控制台打印输出)*/classMathDemo{publicstaticvoidmain(Stringargs[]){intsum,temp;for(inti=1;i<=4;i++){for(intj=1;j<4;j++){for(intk=1;k<=4;k++){if(i!=j&&i!=k&&j!=k){temp=i*100+j*10+k;System.out.println(temp);sum=sum+1;}}}}}}第三次::/*作业三:定义一个自行车类(Bicycle),属性是:车品牌、颜色。方法是:启动、停车。定义一个电动自行车类(Moto)继承自行车类,定义自己的方法:行驶方法。用Moto类实例化对象,分别调用启动、行驶、停车三方法(模拟骑车过程)。*/classBicycle{intcode;Stringcolor;publicvoidstart(){System.out.println("start.....");}publicvoidstop(){System.out.println("stop.....");}}classMotoextendsBicycle{publicvoidrun(){System.out.println("run.....");}}classDemo{publicstaticvoidmain(Stringargs[]){Motom=newMoto();m.start();m.run();m.stop();}}/*作业二:编写一个家庭类,有三个属性:外观、存折、电话,分别赋值,另外有三个方法:查看存折金额(私有),拨打电话(保护),观看房屋(公共)在测试类里实例化对象并调用以上3个方法,结果是什么?并说明原因?*/classfamily{inttelephone;intdeposit;Stringapperance;family(StringApperance,intTelephone,intDeposit){apperance=Apperance;telephone=Telephone;deposit=Deposit;}privatevoidcheckdeposit(){System.out.println("存折金额为"+deposit);}protectedvoidcallphone(){System.out.println("号码:"+telephone);}publicvoidwatchhouse(){System.out.println("外观"+apperance);}}classFamilyDemo{publicstaticvoidmain(Stringargs[]){familyf1=newfamily("wonderfui",1524545898,2345);f1.checkdeposit();f1.callphone();f1.watchhouse();}}/*运行结果:拆看存折金额函数不能运行,因为此函数为私有的,它只能被自身的类访问,其他的函数能运行*//*作业一:定义一个表示学生信息的类Student,要求如下:(1)类Student的成员变量:sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。(2)类Student带参数的构造方法:在构造方法中通过形参完成对成员变量的赋值操作。(3)类Student的方法成员:getNo():获得学号;getName():获得姓名;getSex():获得性别;getAge()获得年龄;getJava():获得Java课程成绩根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。*/classStudent{Student(intnumber,Stringname,Stringsex,intage,intjavascore){sNo=number;sName=name;sSex=sex;sAge=age;sJava=javascore;}voidgetNo(){System.out.println("number="+sNo);}voidgetName(){System.out.println("name="+sName);}voidgetSex(){System.out.println("sex="+sSex);}voidgetAge(){System.out.println("age="+sAge);}voidgetJava(){System.out.println("javascore="+sJava);}IntsNo;StringsName;StringsSex;intsAge;intsJava;}classStudentDemo{publicstaticvoidmain(Stringargs[]){intsum;floataverage;Student[]stu=newStudent[5];stu[0]=newStudent(1,"s","g",12,45);stu[1]=newStudent(2,"as","b",13,98);stu[2]=newStudent(3,"gs","b",14,60);stu[3]=newStudent(4,"by","g",15,91);stu[4]=newStudent(5,"hw","g",16,63);intmax=stu[0].sJava;intmin=stu[0].sJava;for(inti=0;istu[i].getNo();stu[1].getName();stu[i].getSex();stu[i].getAge();stu[i].getJava();if(stu[i].sJava>max){max=stu[i].sJava;}if(stu[i].sJavamin=stu[i].sJava;}}sum=stu[0].sJava+stu[1].sJava+stu[2].sJava+stu[3].sJava+stu[4].sJava;average=sum/5;System.out.println("average="+average);System.out.println("max="+max);System.out.println("min="+min);}}第四次:packageshape; /*作业四:多态编程练习设计一个形状类Shape,方法:求周长和求面积形状类的子类:Rect(矩形),Circle(圆形),Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积.*/classShape{voidzhouchang(){}voidmianji(){}doublep;doubles;}classRectextendsShape{Rect(){}Rect(doublex,doubley){this.x=x;this.y=y;}voidzhouchang(){p=(x+y)*2;System.out.println("长方形的周长p="+p);}voidmianji(){s=x*y;System.out.println("长方形的面积s="+s);}doublex,y;}classCircleextendsShape{Circle(doubler){this.r=r;}voidzhouchang(){p=2*3.14*r;System.out.println("圆形的周长p="+p);}voidmianji(){s=3.14*r*r;System.out.println("圆形的的面积s="+s);}doubler;}classSquareextendsRect{Square(doublea){this.a=a;}voidzhouchang(){p=4*a;System.out.println("正方形的周长p="+p);}voidmianji(){s=a*a;System.out.println("正方形的的面积s="+s);}doublea;}classDemo{publicstaticvoidmain(Stringargs[]){Shape[]s=newShape[3];s[0]=newRect(10,10);s[1]=newCircle(3);s[2]=newSquare(4);for(inti=0;i{s[i].zhouchang();s[i].mianji();}}}第五次::/*2.定义一个接口Flyer,其中有一个方法fly();分别定义两个类Bird(鸟),Airplane(飞机)实现接口Flyer,并定义一个测试类,在该类中中创建Bird和Airplane两个实例,分别调用fly()方法,在控制台输出结果*/interfaceFlyer{voidfly();}classBirdimplementsFlyer{Bird(){}publicvoidfly(){System.out.println("Birdfly");}}classAirplaneimplementsFlyer{Airplane(){}publicvoidfly(){System.out.println("Airplanefly");}}classTest{publicstaticvoidmain(Stringargs[]){Birdb=newBird();b.fly();Airplanea=newAirplane();a.fly();}}/*1.创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。。*/abstractclassVehicle{abstractStringNoOfWheels();}classCarextendsVehicle{StringNoOfWheels(){System.out.println("car:四轮车");returnnull;}}classMotorbikeextendsVehicle{StringNoOfWheels(){System.out.println("Motorbike:双轮车");returnnull;}}classTest{publicstaticvoidmain(Stringargs[]){Carc=newCar();Motorbikem=newMotorbike();c.NoOfWheels();m.NoOfWheels();}}第七次/*输入小于10的两个正整数,并计算两个数的乘积。要求:①自定义一个异常类②当输入两个数超出范围,抛出自定义异常③在调用方法中捕获异常,并输出异常信息*/classNumberRangeExceptionextendsException{publicNumberRangeException(Stringmsg){super(msg);}//throws重新抛出异常NumberRangeExceptionpublicintCalcAnswer(Stringstr1,Stringstr2)throwsNumberRangeException{intint1,int2;intanswer=0;try{int1=Integer.parseInt(str1);//将str1转换成int类型的,可能产生异常对象NumberFormatExceptioneint2=Integer.parseInt(str2);//将str2转换成int类型的,可能产生异常对象NumberFormatExceptioneif((int1<0)||(int1>10)||(int2<0)||(int2>10)){NumberRangeExceptione=newNumberRangeException("Numbersarenotwithinthespecifiedrange.");throwe;//抛出自定义异常对象NumberRangeExceptione}answer=int1*int2;}catch(NumberFormatExceptione){//捕获异常对象NumberRangeExceptioneSystem.out.println(e.toString());/*toString()是一个方法,它的作用是将变量由其它类型转变为字符串类型。这里System.out.println(e.toString()就是调用系统输入(System.Out)的println()方法,这个方法需要传入一个字符串类型的参数。这时,e.toString(),即把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。若出现错误被catch到之后输出错误信息*/}returnanswer;}//在调用方法getAnswer中捕获异常publicvoidgetAnswer(){StringanswerStr;try{//测试1:将num1、num2的中的数字设置为小于0或大于10,查看捕获异常结果。Stringnum1="13";Stringnum2="15";intanswer=CalcAnswer(num1,num2);//抛出异常对象NumberRangeExceptioneanswerStr=String.valueOf(answer);//将int型的answer转换成字符串类型}catch(NumberRangeExceptione){//捕获异常对象NumberRangeExceptioneanswerStr=e.getMessage();}System.out.println(answerStr);}publicstaticvoidmain(Stringargs[]){NumberRangeExceptiont1=newNumberRangeException("test");t1.getAnswer();}}机房作业/*编程实现Student类,其包含成员变量name、age、classNum,新建初始化3个Student对象,添加到集合类HashSet对象中,并在屏幕上输出3个Student对象的属性值;为了简便起见,可以在Student类中改写方法toString,输出格式为“姓名:xxx,年龄:xxx,班级:xxx”。*/importjava.util.*;classStudent{Student(){}publicStringtoString(){return("姓名"+name+",年龄"+age+",班级"+classNum);}Student(Stringname,intage,StringclassNum){this.name=name;this.age=age;this.classNum=classNum;}privateStringname,classNum;privateint
sb.append(tempstr);
doubleend2=System.currentTimeMillis();
doubletime2=(end2-start2);
System.out.println("time2="+time2);
doublestart3=System.currentTimeMillis();
StringBuildersb2=newStringBuilder();
for(inti=0;i{sb2.append(tempstr);}doubleend3=System.currentTimeMillis();doubletime3=(end3-start3);System.out.println("time3="+time3);}}第二次:/*有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,打印输出依次退出小朋友的编号?(用数组实现)*/classDemo{publicstaticvoidmain(Stringargs[]){intpeople[]=newint[500];intcount=0;intsize=500;intindex=0;for(inti=1;i<=500;i++){people[i-1]=i;}while(size!=1){if(people[index]!=0){count++;if(count==3){count=0;System.out.println(people[index]);people[index]=0;size--;}}index++;if(index==500){index=0;}}}}/*编程实现:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(在控制台打印输出)*/classMathDemo{publicstaticvoidmain(Stringargs[]){intsum,temp;for(inti=1;i<=4;i++){for(intj=1;j<4;j++){for(intk=1;k<=4;k++){if(i!=j&&i!=k&&j!=k){temp=i*100+j*10+k;System.out.println(temp);sum=sum+1;}}}}}}第三次::/*作业三:定义一个自行车类(Bicycle),属性是:车品牌、颜色。方法是:启动、停车。定义一个电动自行车类(Moto)继承自行车类,定义自己的方法:行驶方法。用Moto类实例化对象,分别调用启动、行驶、停车三方法(模拟骑车过程)。*/classBicycle{intcode;Stringcolor;publicvoidstart(){System.out.println("start.....");}publicvoidstop(){System.out.println("stop.....");}}classMotoextendsBicycle{publicvoidrun(){System.out.println("run.....");}}classDemo{publicstaticvoidmain(Stringargs[]){Motom=newMoto();m.start();m.run();m.stop();}}/*作业二:编写一个家庭类,有三个属性:外观、存折、电话,分别赋值,另外有三个方法:查看存折金额(私有),拨打电话(保护),观看房屋(公共)在测试类里实例化对象并调用以上3个方法,结果是什么?并说明原因?*/classfamily{inttelephone;intdeposit;Stringapperance;family(StringApperance,intTelephone,intDeposit){apperance=Apperance;telephone=Telephone;deposit=Deposit;}privatevoidcheckdeposit(){System.out.println("存折金额为"+deposit);}protectedvoidcallphone(){System.out.println("号码:"+telephone);}publicvoidwatchhouse(){System.out.println("外观"+apperance);}}classFamilyDemo{publicstaticvoidmain(Stringargs[]){familyf1=newfamily("wonderfui",1524545898,2345);f1.checkdeposit();f1.callphone();f1.watchhouse();}}/*运行结果:拆看存折金额函数不能运行,因为此函数为私有的,它只能被自身的类访问,其他的函数能运行*//*作业一:定义一个表示学生信息的类Student,要求如下:(1)类Student的成员变量:sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。(2)类Student带参数的构造方法:在构造方法中通过形参完成对成员变量的赋值操作。(3)类Student的方法成员:getNo():获得学号;getName():获得姓名;getSex():获得性别;getAge()获得年龄;getJava():获得Java课程成绩根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。*/classStudent{Student(intnumber,Stringname,Stringsex,intage,intjavascore){sNo=number;sName=name;sSex=sex;sAge=age;sJava=javascore;}voidgetNo(){System.out.println("number="+sNo);}voidgetName(){System.out.println("name="+sName);}voidgetSex(){System.out.println("sex="+sSex);}voidgetAge(){System.out.println("age="+sAge);}voidgetJava(){System.out.println("javascore="+sJava);}IntsNo;StringsName;StringsSex;intsAge;intsJava;}classStudentDemo{publicstaticvoidmain(Stringargs[]){intsum;floataverage;Student[]stu=newStudent[5];stu[0]=newStudent(1,"s","g",12,45);stu[1]=newStudent(2,"as","b",13,98);stu[2]=newStudent(3,"gs","b",14,60);stu[3]=newStudent(4,"by","g",15,91);stu[4]=newStudent(5,"hw","g",16,63);intmax=stu[0].sJava;intmin=stu[0].sJava;for(inti=0;istu[i].getNo();stu[1].getName();stu[i].getSex();stu[i].getAge();stu[i].getJava();if(stu[i].sJava>max){max=stu[i].sJava;}if(stu[i].sJavamin=stu[i].sJava;}}sum=stu[0].sJava+stu[1].sJava+stu[2].sJava+stu[3].sJava+stu[4].sJava;average=sum/5;System.out.println("average="+average);System.out.println("max="+max);System.out.println("min="+min);}}第四次:packageshape; /*作业四:多态编程练习设计一个形状类Shape,方法:求周长和求面积形状类的子类:Rect(矩形),Circle(圆形),Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积.*/classShape{voidzhouchang(){}voidmianji(){}doublep;doubles;}classRectextendsShape{Rect(){}Rect(doublex,doubley){this.x=x;this.y=y;}voidzhouchang(){p=(x+y)*2;System.out.println("长方形的周长p="+p);}voidmianji(){s=x*y;System.out.println("长方形的面积s="+s);}doublex,y;}classCircleextendsShape{Circle(doubler){this.r=r;}voidzhouchang(){p=2*3.14*r;System.out.println("圆形的周长p="+p);}voidmianji(){s=3.14*r*r;System.out.println("圆形的的面积s="+s);}doubler;}classSquareextendsRect{Square(doublea){this.a=a;}voidzhouchang(){p=4*a;System.out.println("正方形的周长p="+p);}voidmianji(){s=a*a;System.out.println("正方形的的面积s="+s);}doublea;}classDemo{publicstaticvoidmain(Stringargs[]){Shape[]s=newShape[3];s[0]=newRect(10,10);s[1]=newCircle(3);s[2]=newSquare(4);for(inti=0;i{s[i].zhouchang();s[i].mianji();}}}第五次::/*2.定义一个接口Flyer,其中有一个方法fly();分别定义两个类Bird(鸟),Airplane(飞机)实现接口Flyer,并定义一个测试类,在该类中中创建Bird和Airplane两个实例,分别调用fly()方法,在控制台输出结果*/interfaceFlyer{voidfly();}classBirdimplementsFlyer{Bird(){}publicvoidfly(){System.out.println("Birdfly");}}classAirplaneimplementsFlyer{Airplane(){}publicvoidfly(){System.out.println("Airplanefly");}}classTest{publicstaticvoidmain(Stringargs[]){Birdb=newBird();b.fly();Airplanea=newAirplane();a.fly();}}/*1.创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。。*/abstractclassVehicle{abstractStringNoOfWheels();}classCarextendsVehicle{StringNoOfWheels(){System.out.println("car:四轮车");returnnull;}}classMotorbikeextendsVehicle{StringNoOfWheels(){System.out.println("Motorbike:双轮车");returnnull;}}classTest{publicstaticvoidmain(Stringargs[]){Carc=newCar();Motorbikem=newMotorbike();c.NoOfWheels();m.NoOfWheels();}}第七次/*输入小于10的两个正整数,并计算两个数的乘积。要求:①自定义一个异常类②当输入两个数超出范围,抛出自定义异常③在调用方法中捕获异常,并输出异常信息*/classNumberRangeExceptionextendsException{publicNumberRangeException(Stringmsg){super(msg);}//throws重新抛出异常NumberRangeExceptionpublicintCalcAnswer(Stringstr1,Stringstr2)throwsNumberRangeException{intint1,int2;intanswer=0;try{int1=Integer.parseInt(str1);//将str1转换成int类型的,可能产生异常对象NumberFormatExceptioneint2=Integer.parseInt(str2);//将str2转换成int类型的,可能产生异常对象NumberFormatExceptioneif((int1<0)||(int1>10)||(int2<0)||(int2>10)){NumberRangeExceptione=newNumberRangeException("Numbersarenotwithinthespecifiedrange.");throwe;//抛出自定义异常对象NumberRangeExceptione}answer=int1*int2;}catch(NumberFormatExceptione){//捕获异常对象NumberRangeExceptioneSystem.out.println(e.toString());/*toString()是一个方法,它的作用是将变量由其它类型转变为字符串类型。这里System.out.println(e.toString()就是调用系统输入(System.Out)的println()方法,这个方法需要传入一个字符串类型的参数。这时,e.toString(),即把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。若出现错误被catch到之后输出错误信息*/}returnanswer;}//在调用方法getAnswer中捕获异常publicvoidgetAnswer(){StringanswerStr;try{//测试1:将num1、num2的中的数字设置为小于0或大于10,查看捕获异常结果。Stringnum1="13";Stringnum2="15";intanswer=CalcAnswer(num1,num2);//抛出异常对象NumberRangeExceptioneanswerStr=String.valueOf(answer);//将int型的answer转换成字符串类型}catch(NumberRangeExceptione){//捕获异常对象NumberRangeExceptioneanswerStr=e.getMessage();}System.out.println(answerStr);}publicstaticvoidmain(Stringargs[]){NumberRangeExceptiont1=newNumberRangeException("test");t1.getAnswer();}}机房作业/*编程实现Student类,其包含成员变量name、age、classNum,新建初始化3个Student对象,添加到集合类HashSet对象中,并在屏幕上输出3个Student对象的属性值;为了简便起见,可以在Student类中改写方法toString,输出格式为“姓名:xxx,年龄:xxx,班级:xxx”。*/importjava.util.*;classStudent{Student(){}publicStringtoString(){return("姓名"+name+",年龄"+age+",班级"+classNum);}Student(Stringname,intage,StringclassNum){this.name=name;this.age=age;this.classNum=classNum;}privateStringname,classNum;privateint
sb2.append(tempstr);
doubleend3=System.currentTimeMillis();
doubletime3=(end3-start3);
System.out.println("time3="+time3);
第二次:
/*有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。
编写一个Java应用程序,打印输出依次退出小朋友的编号?
(用数组实现)*/
intpeople[]=newint[500];
intcount=0;
intsize=500;
intindex=0;
for(inti=1;i<=500;i++)
people[i-1]=i;
while(size!
=1)
if(people[index]!
=0)
count++;
if(count==3)
count=0;
System.out.println(people[index]);
people[index]=0;
size--;
index++;
if(index==500)
index=0;
/*编程实现:
有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
(在控制台打印输出)*/
classMathDemo
intsum,temp;
for(inti=1;i<=4;i++)
for(intj=1;j<4;j++)
for(intk=1;k<=4;k++)
if(i!
=j&&i!
=k&&j!
=k)
temp=i*100+j*10+k;
System.out.println(temp);
sum=sum+1;
第三次:
:
/*作业三:
定义一个自行车类(Bicycle),属性是:
车品牌、颜色。
方法是:
启动、停车。
定义一个电动自行车类(Moto)继承自行车类,定义自己的方法:
行驶方法。
用Moto类实例化对象,分别调用启动、
行驶、停车三方法(模拟骑车过程)。
classBicycle{
intcode;
Stringcolor;
publicvoidstart(){
System.out.println("start.....");
publicvoidstop(){
System.out.println("stop.....");
classMotoextendsBicycle{
publicvoidrun(){
System.out.println("run.....");
classDemo{
publicstaticvoidmain(Stringargs[]){
Motom=newMoto();
m.start();
m.run();
m.stop();
/*作业二:
编写一个家庭类,有三个属性:
外观、存折、电话,分别赋值,另外有三个方法:
查看存折金额(私有),拨打电话(保护),观看房屋(公共)
在测试类里实例化对象并调用以上3个方法,结果是什么?
并说明原因?
classfamily{
inttelephone;
intdeposit;
Stringapperance;
family(StringApperance,intTelephone,intDeposit){
apperance=Apperance;
telephone=Telephone;
deposit=Deposit;
privatevoidcheckdeposit(){
System.out.println("存折金额为"+deposit);
protectedvoidcallphone(){
System.out.println("号码:
"+telephone);
publicvoidwatchhouse(){
System.out.println("外观"+apperance);
classFamilyDemo{
familyf1=newfamily("wonderfui",1524545898,2345);
f1.checkdeposit();
f1.callphone();
f1.watchhouse();
/*运行结果:
拆看存折金额函数不能运行,因为此函数为私有的,它只能被自身的类访问,其他的函数能运行*/
/*作业一:
定义一个表示学生信息的类Student,要求如下:
(1)类Student的成员变量:
sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:
表示Java课程成绩。
(2)类Student带参数的构造方法:
在构造方法中通过形参完成对成员变量的赋值操作。
(3)类Student的方法成员:
getNo():
获得学号;
getName():
获得姓名;
getSex():
获得性别;
getAge()获得年龄;
getJava():
获得Java课程成绩
根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。
classStudent{
Student(intnumber,Stringname,Stringsex,intage,intjavascore){
sNo=number;
sName=name;
sSex=sex;
sAge=age;
sJava=javascore;
voidgetNo(){
System.out.println("number="+sNo);
voidgetName(){
System.out.println("name="+sName);
voidgetSex(){
System.out.println("sex="+sSex);
voidgetAge(){
System.out.println("age="+sAge);
voidgetJava(){
System.out.println("javascore="+sJava);
IntsNo;
StringsName;
StringsSex;
intsAge;
intsJava;
classStudentDemo{
intsum;
floataverage;
Student[]stu=newStudent[5];
stu[0]=newStudent(1,"s","g",12,45);
stu[1]=newStudent(2,"as","b",13,98);
stu[2]=newStudent(3,"gs","b",14,60);
stu[3]=newStudent(4,"by","g",15,91);
stu[4]=newStudent(5,"hw","g",16,63);
intmax=stu[0].sJava;
intmin=stu[0].sJava;
for(inti=0;istu[i].getNo();stu[1].getName();stu[i].getSex();stu[i].getAge();stu[i].getJava();if(stu[i].sJava>max){max=stu[i].sJava;}if(stu[i].sJavamin=stu[i].sJava;}}sum=stu[0].sJava+stu[1].sJava+stu[2].sJava+stu[3].sJava+stu[4].sJava;average=sum/5;System.out.println("average="+average);System.out.println("max="+max);System.out.println("min="+min);}}第四次:packageshape; /*作业四:多态编程练习设计一个形状类Shape,方法:求周长和求面积形状类的子类:Rect(矩形),Circle(圆形),Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积.*/classShape{voidzhouchang(){}voidmianji(){}doublep;doubles;}classRectextendsShape{Rect(){}Rect(doublex,doubley){this.x=x;this.y=y;}voidzhouchang(){p=(x+y)*2;System.out.println("长方形的周长p="+p);}voidmianji(){s=x*y;System.out.println("长方形的面积s="+s);}doublex,y;}classCircleextendsShape{Circle(doubler){this.r=r;}voidzhouchang(){p=2*3.14*r;System.out.println("圆形的周长p="+p);}voidmianji(){s=3.14*r*r;System.out.println("圆形的的面积s="+s);}doubler;}classSquareextendsRect{Square(doublea){this.a=a;}voidzhouchang(){p=4*a;System.out.println("正方形的周长p="+p);}voidmianji(){s=a*a;System.out.println("正方形的的面积s="+s);}doublea;}classDemo{publicstaticvoidmain(Stringargs[]){Shape[]s=newShape[3];s[0]=newRect(10,10);s[1]=newCircle(3);s[2]=newSquare(4);for(inti=0;i{s[i].zhouchang();s[i].mianji();}}}第五次::/*2.定义一个接口Flyer,其中有一个方法fly();分别定义两个类Bird(鸟),Airplane(飞机)实现接口Flyer,并定义一个测试类,在该类中中创建Bird和Airplane两个实例,分别调用fly()方法,在控制台输出结果*/interfaceFlyer{voidfly();}classBirdimplementsFlyer{Bird(){}publicvoidfly(){System.out.println("Birdfly");}}classAirplaneimplementsFlyer{Airplane(){}publicvoidfly(){System.out.println("Airplanefly");}}classTest{publicstaticvoidmain(Stringargs[]){Birdb=newBird();b.fly();Airplanea=newAirplane();a.fly();}}/*1.创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。。*/abstractclassVehicle{abstractStringNoOfWheels();}classCarextendsVehicle{StringNoOfWheels(){System.out.println("car:四轮车");returnnull;}}classMotorbikeextendsVehicle{StringNoOfWheels(){System.out.println("Motorbike:双轮车");returnnull;}}classTest{publicstaticvoidmain(Stringargs[]){Carc=newCar();Motorbikem=newMotorbike();c.NoOfWheels();m.NoOfWheels();}}第七次/*输入小于10的两个正整数,并计算两个数的乘积。要求:①自定义一个异常类②当输入两个数超出范围,抛出自定义异常③在调用方法中捕获异常,并输出异常信息*/classNumberRangeExceptionextendsException{publicNumberRangeException(Stringmsg){super(msg);}//throws重新抛出异常NumberRangeExceptionpublicintCalcAnswer(Stringstr1,Stringstr2)throwsNumberRangeException{intint1,int2;intanswer=0;try{int1=Integer.parseInt(str1);//将str1转换成int类型的,可能产生异常对象NumberFormatExceptioneint2=Integer.parseInt(str2);//将str2转换成int类型的,可能产生异常对象NumberFormatExceptioneif((int1<0)||(int1>10)||(int2<0)||(int2>10)){NumberRangeExceptione=newNumberRangeException("Numbersarenotwithinthespecifiedrange.");throwe;//抛出自定义异常对象NumberRangeExceptione}answer=int1*int2;}catch(NumberFormatExceptione){//捕获异常对象NumberRangeExceptioneSystem.out.println(e.toString());/*toString()是一个方法,它的作用是将变量由其它类型转变为字符串类型。这里System.out.println(e.toString()就是调用系统输入(System.Out)的println()方法,这个方法需要传入一个字符串类型的参数。这时,e.toString(),即把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。若出现错误被catch到之后输出错误信息*/}returnanswer;}//在调用方法getAnswer中捕获异常publicvoidgetAnswer(){StringanswerStr;try{//测试1:将num1、num2的中的数字设置为小于0或大于10,查看捕获异常结果。Stringnum1="13";Stringnum2="15";intanswer=CalcAnswer(num1,num2);//抛出异常对象NumberRangeExceptioneanswerStr=String.valueOf(answer);//将int型的answer转换成字符串类型}catch(NumberRangeExceptione){//捕获异常对象NumberRangeExceptioneanswerStr=e.getMessage();}System.out.println(answerStr);}publicstaticvoidmain(Stringargs[]){NumberRangeExceptiont1=newNumberRangeException("test");t1.getAnswer();}}机房作业/*编程实现Student类,其包含成员变量name、age、classNum,新建初始化3个Student对象,添加到集合类HashSet对象中,并在屏幕上输出3个Student对象的属性值;为了简便起见,可以在Student类中改写方法toString,输出格式为“姓名:xxx,年龄:xxx,班级:xxx”。*/importjava.util.*;classStudent{Student(){}publicStringtoString(){return("姓名"+name+",年龄"+age+",班级"+classNum);}Student(Stringname,intage,StringclassNum){this.name=name;this.age=age;this.classNum=classNum;}privateStringname,classNum;privateint
stu[i].getNo();
stu[1].getName();
stu[i].getSex();
stu[i].getAge();
stu[i].getJava();
if(stu[i].sJava>max){
max=stu[i].sJava;
if(stu[i].sJavamin=stu[i].sJava;}}sum=stu[0].sJava+stu[1].sJava+stu[2].sJava+stu[3].sJava+stu[4].sJava;average=sum/5;System.out.println("average="+average);System.out.println("max="+max);System.out.println("min="+min);}}第四次:packageshape; /*作业四:多态编程练习设计一个形状类Shape,方法:求周长和求面积形状类的子类:Rect(矩形),Circle(圆形),Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积.*/classShape{voidzhouchang(){}voidmianji(){}doublep;doubles;}classRectextendsShape{Rect(){}Rect(doublex,doubley){this.x=x;this.y=y;}voidzhouchang(){p=(x+y)*2;System.out.println("长方形的周长p="+p);}voidmianji(){s=x*y;System.out.println("长方形的面积s="+s);}doublex,y;}classCircleextendsShape{Circle(doubler){this.r=r;}voidzhouchang(){p=2*3.14*r;System.out.println("圆形的周长p="+p);}voidmianji(){s=3.14*r*r;System.out.println("圆形的的面积s="+s);}doubler;}classSquareextendsRect{Square(doublea){this.a=a;}voidzhouchang(){p=4*a;System.out.println("正方形的周长p="+p);}voidmianji(){s=a*a;System.out.println("正方形的的面积s="+s);}doublea;}classDemo{publicstaticvoidmain(Stringargs[]){Shape[]s=newShape[3];s[0]=newRect(10,10);s[1]=newCircle(3);s[2]=newSquare(4);for(inti=0;i{s[i].zhouchang();s[i].mianji();}}}第五次::/*2.定义一个接口Flyer,其中有一个方法fly();分别定义两个类Bird(鸟),Airplane(飞机)实现接口Flyer,并定义一个测试类,在该类中中创建Bird和Airplane两个实例,分别调用fly()方法,在控制台输出结果*/interfaceFlyer{voidfly();}classBirdimplementsFlyer{Bird(){}publicvoidfly(){System.out.println("Birdfly");}}classAirplaneimplementsFlyer{Airplane(){}publicvoidfly(){System.out.println("Airplanefly");}}classTest{publicstaticvoidmain(Stringargs[]){Birdb=newBird();b.fly();Airplanea=newAirplane();a.fly();}}/*1.创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。。*/abstractclassVehicle{abstractStringNoOfWheels();}classCarextendsVehicle{StringNoOfWheels(){System.out.println("car:四轮车");returnnull;}}classMotorbikeextendsVehicle{StringNoOfWheels(){System.out.println("Motorbike:双轮车");returnnull;}}classTest{publicstaticvoidmain(Stringargs[]){Carc=newCar();Motorbikem=newMotorbike();c.NoOfWheels();m.NoOfWheels();}}第七次/*输入小于10的两个正整数,并计算两个数的乘积。要求:①自定义一个异常类②当输入两个数超出范围,抛出自定义异常③在调用方法中捕获异常,并输出异常信息*/classNumberRangeExceptionextendsException{publicNumberRangeException(Stringmsg){super(msg);}//throws重新抛出异常NumberRangeExceptionpublicintCalcAnswer(Stringstr1,Stringstr2)throwsNumberRangeException{intint1,int2;intanswer=0;try{int1=Integer.parseInt(str1);//将str1转换成int类型的,可能产生异常对象NumberFormatExceptioneint2=Integer.parseInt(str2);//将str2转换成int类型的,可能产生异常对象NumberFormatExceptioneif((int1<0)||(int1>10)||(int2<0)||(int2>10)){NumberRangeExceptione=newNumberRangeException("Numbersarenotwithinthespecifiedrange.");throwe;//抛出自定义异常对象NumberRangeExceptione}answer=int1*int2;}catch(NumberFormatExceptione){//捕获异常对象NumberRangeExceptioneSystem.out.println(e.toString());/*toString()是一个方法,它的作用是将变量由其它类型转变为字符串类型。这里System.out.println(e.toString()就是调用系统输入(System.Out)的println()方法,这个方法需要传入一个字符串类型的参数。这时,e.toString(),即把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。若出现错误被catch到之后输出错误信息*/}returnanswer;}//在调用方法getAnswer中捕获异常publicvoidgetAnswer(){StringanswerStr;try{//测试1:将num1、num2的中的数字设置为小于0或大于10,查看捕获异常结果。Stringnum1="13";Stringnum2="15";intanswer=CalcAnswer(num1,num2);//抛出异常对象NumberRangeExceptioneanswerStr=String.valueOf(answer);//将int型的answer转换成字符串类型}catch(NumberRangeExceptione){//捕获异常对象NumberRangeExceptioneanswerStr=e.getMessage();}System.out.println(answerStr);}publicstaticvoidmain(Stringargs[]){NumberRangeExceptiont1=newNumberRangeException("test");t1.getAnswer();}}机房作业/*编程实现Student类,其包含成员变量name、age、classNum,新建初始化3个Student对象,添加到集合类HashSet对象中,并在屏幕上输出3个Student对象的属性值;为了简便起见,可以在Student类中改写方法toString,输出格式为“姓名:xxx,年龄:xxx,班级:xxx”。*/importjava.util.*;classStudent{Student(){}publicStringtoString(){return("姓名"+name+",年龄"+age+",班级"+classNum);}Student(Stringname,intage,StringclassNum){this.name=name;this.age=age;this.classNum=classNum;}privateStringname,classNum;privateint
min=stu[i].sJava;
sum=stu[0].sJava+stu[1].sJava+stu[2].sJava+stu[3].sJava
+stu[4].sJava;
average=sum/5;
System.out.println("average="+average);
System.out.println("max="+max);
System.out.println("min="+min);
第四次:
packageshape;
/*作业四:
多态编程练习
设计一个形状类Shape,方法:
求周长和求面积
形状类的子类:
Rect(矩形),Circle(圆形),
Rect类的子类:
Square(正方形)
不同的子类会有不同的计算周长和面积的方法
创建三个不同的形状对象,
放在Shape类型的数组里,分别打印出每个对象的周长和面积.*/
classShape{
voidzhouchang(){}
voidmianji(){}
doublep;
doubles;
classRectextendsShape{
Rect(){}
Rect(doublex,doubley)
this.x=x;
this.y=y;
voidzhouchang()
p=(x+y)*2;
System.out.println("长方形的周长p="+p);
voidmianji(){
s=x*y;
System.out.println("长方形的面积s="+s);
doublex,y;
classCircleextendsShape{
Circle(doubler)
this.r=r;
p=2*3.14*r;
System.out.println("圆形的周长p="+p);
s=3.14*r*r;
System.out.println("圆形的的面积s="+s);
doubler;
classSquareextendsRect{
Square(doublea)
this.a=a;
p=4*a;
System.out.println("正方形的周长p="+p);
s=a*a;
System.out.println("正方形的的面积s="+s);
doublea;
Shape[]s=newShape[3];
s[0]=newRect(10,10);
s[1]=newCircle(3);
s[2]=newSquare(4);
for(inti=0;i{s[i].zhouchang();s[i].mianji();}}}第五次::/*2.定义一个接口Flyer,其中有一个方法fly();分别定义两个类Bird(鸟),Airplane(飞机)实现接口Flyer,并定义一个测试类,在该类中中创建Bird和Airplane两个实例,分别调用fly()方法,在控制台输出结果*/interfaceFlyer{voidfly();}classBirdimplementsFlyer{Bird(){}publicvoidfly(){System.out.println("Birdfly");}}classAirplaneimplementsFlyer{Airplane(){}publicvoidfly(){System.out.println("Airplanefly");}}classTest{publicstaticvoidmain(Stringargs[]){Birdb=newBird();b.fly();Airplanea=newAirplane();a.fly();}}/*1.创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。。*/abstractclassVehicle{abstractStringNoOfWheels();}classCarextendsVehicle{StringNoOfWheels(){System.out.println("car:四轮车");returnnull;}}classMotorbikeextendsVehicle{StringNoOfWheels(){System.out.println("Motorbike:双轮车");returnnull;}}classTest{publicstaticvoidmain(Stringargs[]){Carc=newCar();Motorbikem=newMotorbike();c.NoOfWheels();m.NoOfWheels();}}第七次/*输入小于10的两个正整数,并计算两个数的乘积。要求:①自定义一个异常类②当输入两个数超出范围,抛出自定义异常③在调用方法中捕获异常,并输出异常信息*/classNumberRangeExceptionextendsException{publicNumberRangeException(Stringmsg){super(msg);}//throws重新抛出异常NumberRangeExceptionpublicintCalcAnswer(Stringstr1,Stringstr2)throwsNumberRangeException{intint1,int2;intanswer=0;try{int1=Integer.parseInt(str1);//将str1转换成int类型的,可能产生异常对象NumberFormatExceptioneint2=Integer.parseInt(str2);//将str2转换成int类型的,可能产生异常对象NumberFormatExceptioneif((int1<0)||(int1>10)||(int2<0)||(int2>10)){NumberRangeExceptione=newNumberRangeException("Numbersarenotwithinthespecifiedrange.");throwe;//抛出自定义异常对象NumberRangeExceptione}answer=int1*int2;}catch(NumberFormatExceptione){//捕获异常对象NumberRangeExceptioneSystem.out.println(e.toString());/*toString()是一个方法,它的作用是将变量由其它类型转变为字符串类型。这里System.out.println(e.toString()就是调用系统输入(System.Out)的println()方法,这个方法需要传入一个字符串类型的参数。这时,e.toString(),即把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。若出现错误被catch到之后输出错误信息*/}returnanswer;}//在调用方法getAnswer中捕获异常publicvoidgetAnswer(){StringanswerStr;try{//测试1:将num1、num2的中的数字设置为小于0或大于10,查看捕获异常结果。Stringnum1="13";Stringnum2="15";intanswer=CalcAnswer(num1,num2);//抛出异常对象NumberRangeExceptioneanswerStr=String.valueOf(answer);//将int型的answer转换成字符串类型}catch(NumberRangeExceptione){//捕获异常对象NumberRangeExceptioneanswerStr=e.getMessage();}System.out.println(answerStr);}publicstaticvoidmain(Stringargs[]){NumberRangeExceptiont1=newNumberRangeException("test");t1.getAnswer();}}机房作业/*编程实现Student类,其包含成员变量name、age、classNum,新建初始化3个Student对象,添加到集合类HashSet对象中,并在屏幕上输出3个Student对象的属性值;为了简便起见,可以在Student类中改写方法toString,输出格式为“姓名:xxx,年龄:xxx,班级:xxx”。*/importjava.util.*;classStudent{Student(){}publicStringtoString(){return("姓名"+name+",年龄"+age+",班级"+classNum);}Student(Stringname,intage,StringclassNum){this.name=name;this.age=age;this.classNum=classNum;}privateStringname,classNum;privateint
s[i].zhouchang();
s[i].mianji();
第五次:
/*2.定义一个接口Flyer,其中有一个方法fly();分别定义两个类Bird(鸟),
Airplane(飞机)实现接口Flyer,并定义一个测试类,在该类中中创建Bird和Airplane两个实例,
分别调用fly()方法,在控制台输出结果*/
interfaceFlyer{
voidfly();
classBirdimplementsFlyer{
Bird(){}
publicvoidfly(){
System.out.println("Birdfly");
classAirplaneimplementsFlyer{
Airplane(){}
System.out.println("Airplanefly");
classTest{
Birdb=newBird();
b.fly();
Airplanea=newAirplane();
a.fly();
/*1.创建一个Vehicle类并将它声明为抽象类。
在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。
创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。
在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。
创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。
。
abstractclassVehicle{
abstractStringNoOfWheels();
classCarextendsVehicle{
StringNoOfWheels(){
System.out.println("car:
四轮车");
returnnull;
classMotorbikeextendsVehicle{
System.out.println("Motorbike:
双轮车");
Carc=newCar();
Motorbikem=newMotorbike();
c.NoOfWheels();
m.NoOfWheels();
第七次/*输入小于10的两个正整数,并计算两个数的乘积。
要求:
①自定义一个异常类
②当输入两个数超出范围,抛出自定义异常
③在调用方法中捕获异常,并输出异常信息*/
classNumberRangeExceptionextendsException{
publicNumberRangeException(Stringmsg){
super(msg);
//throws重新抛出异常NumberRangeException
publicintCalcAnswer(Stringstr1,Stringstr2)throwsNumberRangeException{
intint1,int2;
intanswer=0;
try{
int1=Integer.parseInt(str1);//将str1转换成int类型的,可能产生异常对象NumberFormatExceptione
int2=Integer.parseInt(str2);//将str2转换成int类型的,可能产生异常对象NumberFormatExceptione
if((int1<0)||(int1>10)||(int2<0)||(int2>10)){
NumberRangeExceptione=newNumberRangeException("Numbersarenotwithinthespecifiedrange.");
throwe;//抛出自定义异常对象NumberRangeExceptione
answer=int1*int2;
catch(NumberFormatExceptione){//捕获异常对象NumberRangeExceptione
System.out.println(e.toString());/*toString()是一个方法,
它的作用是将变量由其它类型转变为字符串类型。
这里System.out.println(e.toString()就是调用系统输入(System.Out)的println()方法,这个方法需要传入一个字符串类型的参数。
这时,e.toString(),即把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。
若出现错误被catch到之后输出错误信息*/
returnanswer;
//在调用方法getAnswer中捕获异常
publicvoidgetAnswer(){
StringanswerStr;
//测试1:
将num1、num2的中的数字设置为小于0或大于10,查看捕获异常结果。
Stringnum1="13";
Stringnum2="15";
intanswer=CalcAnswer(num1,num2);//抛出异常对象NumberRangeExceptione
answerStr=String.valueOf(answer);//将int型的answer转换成字符串类型
catch(NumberRangeExceptione){//捕获异常对象NumberRangeExceptione
answerStr=e.getMessage();
System.out.println(answerStr);
NumberRangeExceptiont1=newNumberRangeException("test");
t1.getAnswer();
机房作业/*编程实现Student类,其包含成员变量name、age、classNum,
新建初始化3个Student对象,添加到集合类HashSet对象中,
并在屏幕上输出3个Student对象的属性值;为了简便起见,
可以在Student类中改写方法toString,
输出格式为“姓名:
xxx,年龄:
xxx,班级:
xxx”。
importjava.util.*;
Student(){}
publicStringtoString(){
return("姓名"+name+",年龄"+age+",班级"+classNum);
Student(Stringname,intage,StringclassNum){
this.name=name;
this.age=age;
this.classNum=classNum;
privateStringname,classNum;
privateint
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1