java作业汇总.docx

上传人:b****4 文档编号:12103448 上传时间:2023-04-17 格式:DOCX 页数:27 大小:22.10KB
下载 相关 举报
java作业汇总.docx_第1页
第1页 / 共27页
java作业汇总.docx_第2页
第2页 / 共27页
java作业汇总.docx_第3页
第3页 / 共27页
java作业汇总.docx_第4页
第4页 / 共27页
java作业汇总.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

java作业汇总.docx

《java作业汇总.docx》由会员分享,可在线阅读,更多相关《java作业汇总.docx(27页珍藏版)》请在冰豆网上搜索。

java作业汇总.docx

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模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1