java作业汇总.docx
- 文档编号:2592316
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:27
- 大小:22.10KB
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;i 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].sJava 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; } 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重新抛出异常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; try{ //测试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); } 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 作业 汇总