面向对象与java程序设计实验内容.docx
《面向对象与java程序设计实验内容.docx》由会员分享,可在线阅读,更多相关《面向对象与java程序设计实验内容.docx(16页珍藏版)》请在冰豆网上搜索。
面向对象与java程序设计实验内容
实验一
1、JDK的下载、安装和配置
2、编写一个打印出“TheJavaWorld”的JavaApplication程序,并编辑运行
3、编写一个打印出“TheFirstApplet”的JavaApplet程序,并编译,然后编写调用此Applet类的HTML文件,并用appletviewer.exe和InternetExplorer打开。
实验二
1、编写程序输出乘法口诀表
publicclassEg21
{
publicstaticvoidmain(String[]args)
inti,j,k;
for(i=1;i<=9;i++)
j=1;
for(k=i;k<=9;k++,j++)
System.out.printf("%d*%d=%2d",j,k,j*k);
}
System.out.println();
2、分别用do-while和for循环计算1+1/2!
+1/3!
+….的前20项的和
publicclassEg22
inti,j;
double[]arr=newdouble[21];
doublesum=0.0;
arr[0]=1.0;
//这是以for循环处理的
for(i=1;i<=20;i++)
arr[i]=arr[i-1]*i;
sum=sum+1.0/(arr[i]);
//这是以DOWHILE循环处理的
/*
i=1;
do
i++;
}while(i<=20);
sum=sum+1.0/arr[i];
*/
System.out.println(""+sum);
3、一个数如果恰好等于除它本身外的因子之和,这个数就称为“完数”。
编写应用程序求1000以的所有完数并输出。
publicclassEg23
inti,j,sum;
for(i=1;i<=1000;i++)
sum=0;
for(j=1;j
if(i%j==0)
sum=sum+j;
if(sum==i)
System.out.printf("%4d",i);
实验三
1、编写一个程序来计算10000以的素数之和并输出
publicclassEg2611
intsum=0;
for(i=2;i<=10000;i++)
for(j=2;j
break;
if(j==i)
sum=sum+i;
2、创建一个程序把输入字符串的大小写互换。
字符的输入用例1.3中的方法。
importjava.util.*;
publicclassEg2615
Scannerreader=newScanner(System.in);
StringanStr=reader.next();
char[]anArr=anStr.toCharArray();
inti;
for(i=0;i{if(anArr[i]>='A'&&anArr[i]<='Z'){anArr[i]+=32;}elseif(anArr[i]>='a'&&anArr[i]<='z'){anArr[i]-=32;}}for(i=0;i{System.out.printf("%c",anArr[i]);}System.out.println();}}3、创建一个简单的成绩单程序,帮助老师评估学生的表现。该程序用double数组存放成绩来计算平均成绩和标准方差。成绩通过键盘输入字符串,然后转换成double类型的数据。importjava.util.*;publicclassEg2620{publicstaticvoidmain(String[]args){System.out.println("请输入学生各科成绩,以空格区别!");Scannerreader=newScanner(System.in);Stringtext=reader.nextLine();char[]arr=text.toCharArray();inti,gs=0,js=1,mg=10;doublesum=0,kg=1,germ=0,aver=0,sd=0;for(i=0;i{if(arr[i]==''||arr[i]=='\0'){germ=germ*kg;sum=sum+germ;js=1;kg=1;germ=0;gs++;}elseif(arr[i]=='.'){js=0;}else{germ=germ*mg+(arr[i]-'0');if(js==0){kg=kg/10;}}}if((arr.length-1>=0)&&(arr[arr.length-1]!='')){germ=germ*kg;sum=sum+germ;gs++;}double[]gArr=newdouble[gs];gs=0;js=1;mg=10;kg=1;germ=0;for(i=0;i{if(arr[i]==''||arr[i]=='\0'){germ=germ*kg;gArr[gs]=germ;js=1;kg=1;germ=0;gs++;}elseif(arr[i]=='.'){js=0;}else{germ=germ*mg+(arr[i]-'0');if(js==0){kg=kg/10;}}}if((arr.length-1>=0)&&(arr[arr.length-1]!='')){germ=germ*kg;gArr[gs]=germ;gs++;}if(gs!=0){aver=sum/gs;for(i=0;i{sd=sd+(gArr[i]-aver)*(gArr[i]-aver);}sd=sd/gs;sd=Math.sqrt(sd);}System.out.println("平均值:"+aver+""+"标准方差:"+sd);}}试验四1、定义一个表示学生的类Student,包括域:学号、、性别、年龄;方法:获得学号、、性别、年龄;修改年龄。书写JAVA程序创建Student类的对象及测试其方法的功能。importjava.util.*;classStudent{privateintnomber;privateStringname;privateStringsex;privateintage;Student(intnomber,Stringname,Stringsex,intage){this.nomber=nomber;this.name=name;this.sex=sex;this.age=age;}voidshow(){System.out.println("show函数被调用");System.out.println("学号:"+nomber+"名字:"+name+"性别:"+sex+"年龄:"+age);}voidreage(intage){System.out.println("修改年龄函数被调用");this.age=age;}}publicclassEg484{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);System.out.println("请输入学号:");intnomber=reader.nextInt();System.out.println("请输入:");Stringname=reader.next();System.out.println("请输入性别:");Stringsex=reader.next();System.out.println("请输入年龄:");intage=reader.nextInt();Studentobj=newStudent(nomber,name,sex,age);obj.show();System.out.println("请修改年龄:");age=reader.nextInt();obj.reage(age);obj.show();}} 实验五1、成员方法的参数传递classF{intm=3;intn=4;}classTestVarPass{publicvoidchangeInt(intx,inty){//方法参数是基本数据类型inttemp;temp=x;x=y;y=temp;System.out.println("数据交换后:x="+x+",y="+y);}publicvoidchangeArray(int[]z){//方法参数是数组inttemp;temp=z[0];z[0]=z[1];z[1]=temp;}publicvoidchangeObject(Fff){//方法参数是对象inttemp;temp=ff.m;ff.m=ff.n;ff.n=temp;}publicstaticvoidmain(Stringargs[]){int[]c=newint[2];c[0]=1;c[1]=2;Ff=newF();TestVarPasst=newTestVarPass();//创建测试类对象System.out.println("调用changeInt方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeInt(c[0],c[1]);System.out.println("调用changeInt方法后:[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeArray方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeArray(c);System.out.println("调用changeArray方法后:c[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeObject方法前:f.m="+f.m+",f.n="+f.n);t.changeObject(f);System.out.println("调用changeObject方法后:f.m="+f.m+",f.n="+f.n);}}2、举一个包含静态变量与非静态变量的例子,说明静态成员变量的特征classStaticTest{publicintx=1;publicstaticinty=1;}classStaticTester{publicstaticvoidmain(Stringargs[]){StaticTest.y+=1;StaticTestt1=newStaticTest();StaticTestt2=newStaticTest();t1.x+=1;t1.y+=1;t2.x+=2;t2.y+=2;System.out.println("T1:X="+t1.x+",y="+t1.y);System.out.println("T2:X="+t2.x+",y="+t2.y);}}3、以矩形的面积计算为例,编写一个方法将引用类型作为参数classRefTypePara{doublewidth,height,area;RefTypePara(doublew,doublel){width=w;height=l;}voidcalculateArea(RefTypeParap){//引用类型参数p.area=p.width*p.height;}}classPassObj{publicstaticvoidmain(Stringargs[]){RefTypePararr=newRefTypePara(10,10);rr.calculateArea(rr);System.out.println("矩形面积为"+rr.area);}}实验六1、静态变量的应用classAccount{StringAccountNumber;StringAccountName;doublebalance;staticdoublelixi=0.1;publicAccount(Stringnumber,Stringname){AccountNumber=number;AccountName=name;balance=0.0;}publicvoidprint(){System.out.println("账号:"+AccountNumber);System.out.println("名:"+AccountName);System.out.println("年利率:"+lixi);}}publicclassTestAccount{publicstaticvoidmain(Stringargs[]){Accounta=newAccount("3454523314","三");Accountb=newAccount("3454524315","四");a.print();b.print();b.lixi=0.9;System.out.println("修改年利率后:");a.print();b.print();}}2、静态方法的应用classSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:父类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:父类的非静态方法method2");}}classSubClassextendsSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:子类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:子类的非静态方法method2");}}publicclassTestStaticMethod{publicstaticvoidmain(Stringargs[]){SubClasssub=newSubClass();SuperClasssup;sup=sub;sup.method1();sub.method1();sup.method2();sub.method2();}}3、抽象方法的应用abstractclassEmployee{Stringname;Stringsex;publicEmployee(Stringn,Strings){name=n;sex=s;}publicabstractStringgetDetail();}classHourlyEmployeeextendsEmployee{privatedoublewageRate;privatedoublehours;publicHourlyEmployee(Stringn,Strings,doubler,doubleh){super(n,s);//调用父类的构造方法wageRate=r;hours=h;}publicStringgetDetail(){returnname+""+sex+"每小时工资"+wageRate+"元,工作了"+hours+"小时,共收入"+wageRate*hours+"元";}}classSalariedEmployeeextendsEmployee{privatedoublesalary;publicSalariedEmployee(Stringn,Stringse,doublesa){super(n,se);//调用父类的构造方法salary=sa;}publicStringgetDetail(){returnname+""+sex+"每月工资"+salary+"元";}}publicclassTestAbstract{publicstaticvoidmain(Stringargs[]){Employeee;HourlyEmployeehe=newHourlyEmployee("伟","男",50,20);e=he;System.out.println(e.getDetail());SalariedEmployeese=newSalariedEmployee("娜","女",3000);System.out.println(se.getDetail());}}
if(anArr[i]>='A'&&anArr[i]<='Z')
anArr[i]+=32;
elseif(anArr[i]>='a'&&anArr[i]<='z')
anArr[i]-=32;
for(i=0;i{System.out.printf("%c",anArr[i]);}System.out.println();}}3、创建一个简单的成绩单程序,帮助老师评估学生的表现。该程序用double数组存放成绩来计算平均成绩和标准方差。成绩通过键盘输入字符串,然后转换成double类型的数据。importjava.util.*;publicclassEg2620{publicstaticvoidmain(String[]args){System.out.println("请输入学生各科成绩,以空格区别!");Scannerreader=newScanner(System.in);Stringtext=reader.nextLine();char[]arr=text.toCharArray();inti,gs=0,js=1,mg=10;doublesum=0,kg=1,germ=0,aver=0,sd=0;for(i=0;i{if(arr[i]==''||arr[i]=='\0'){germ=germ*kg;sum=sum+germ;js=1;kg=1;germ=0;gs++;}elseif(arr[i]=='.'){js=0;}else{germ=germ*mg+(arr[i]-'0');if(js==0){kg=kg/10;}}}if((arr.length-1>=0)&&(arr[arr.length-1]!='')){germ=germ*kg;sum=sum+germ;gs++;}double[]gArr=newdouble[gs];gs=0;js=1;mg=10;kg=1;germ=0;for(i=0;i{if(arr[i]==''||arr[i]=='\0'){germ=germ*kg;gArr[gs]=germ;js=1;kg=1;germ=0;gs++;}elseif(arr[i]=='.'){js=0;}else{germ=germ*mg+(arr[i]-'0');if(js==0){kg=kg/10;}}}if((arr.length-1>=0)&&(arr[arr.length-1]!='')){germ=germ*kg;gArr[gs]=germ;gs++;}if(gs!=0){aver=sum/gs;for(i=0;i{sd=sd+(gArr[i]-aver)*(gArr[i]-aver);}sd=sd/gs;sd=Math.sqrt(sd);}System.out.println("平均值:"+aver+""+"标准方差:"+sd);}}试验四1、定义一个表示学生的类Student,包括域:学号、、性别、年龄;方法:获得学号、、性别、年龄;修改年龄。书写JAVA程序创建Student类的对象及测试其方法的功能。importjava.util.*;classStudent{privateintnomber;privateStringname;privateStringsex;privateintage;Student(intnomber,Stringname,Stringsex,intage){this.nomber=nomber;this.name=name;this.sex=sex;this.age=age;}voidshow(){System.out.println("show函数被调用");System.out.println("学号:"+nomber+"名字:"+name+"性别:"+sex+"年龄:"+age);}voidreage(intage){System.out.println("修改年龄函数被调用");this.age=age;}}publicclassEg484{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);System.out.println("请输入学号:");intnomber=reader.nextInt();System.out.println("请输入:");Stringname=reader.next();System.out.println("请输入性别:");Stringsex=reader.next();System.out.println("请输入年龄:");intage=reader.nextInt();Studentobj=newStudent(nomber,name,sex,age);obj.show();System.out.println("请修改年龄:");age=reader.nextInt();obj.reage(age);obj.show();}} 实验五1、成员方法的参数传递classF{intm=3;intn=4;}classTestVarPass{publicvoidchangeInt(intx,inty){//方法参数是基本数据类型inttemp;temp=x;x=y;y=temp;System.out.println("数据交换后:x="+x+",y="+y);}publicvoidchangeArray(int[]z){//方法参数是数组inttemp;temp=z[0];z[0]=z[1];z[1]=temp;}publicvoidchangeObject(Fff){//方法参数是对象inttemp;temp=ff.m;ff.m=ff.n;ff.n=temp;}publicstaticvoidmain(Stringargs[]){int[]c=newint[2];c[0]=1;c[1]=2;Ff=newF();TestVarPasst=newTestVarPass();//创建测试类对象System.out.println("调用changeInt方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeInt(c[0],c[1]);System.out.println("调用changeInt方法后:[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeArray方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeArray(c);System.out.println("调用changeArray方法后:c[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeObject方法前:f.m="+f.m+",f.n="+f.n);t.changeObject(f);System.out.println("调用changeObject方法后:f.m="+f.m+",f.n="+f.n);}}2、举一个包含静态变量与非静态变量的例子,说明静态成员变量的特征classStaticTest{publicintx=1;publicstaticinty=1;}classStaticTester{publicstaticvoidmain(Stringargs[]){StaticTest.y+=1;StaticTestt1=newStaticTest();StaticTestt2=newStaticTest();t1.x+=1;t1.y+=1;t2.x+=2;t2.y+=2;System.out.println("T1:X="+t1.x+",y="+t1.y);System.out.println("T2:X="+t2.x+",y="+t2.y);}}3、以矩形的面积计算为例,编写一个方法将引用类型作为参数classRefTypePara{doublewidth,height,area;RefTypePara(doublew,doublel){width=w;height=l;}voidcalculateArea(RefTypeParap){//引用类型参数p.area=p.width*p.height;}}classPassObj{publicstaticvoidmain(Stringargs[]){RefTypePararr=newRefTypePara(10,10);rr.calculateArea(rr);System.out.println("矩形面积为"+rr.area);}}实验六1、静态变量的应用classAccount{StringAccountNumber;StringAccountName;doublebalance;staticdoublelixi=0.1;publicAccount(Stringnumber,Stringname){AccountNumber=number;AccountName=name;balance=0.0;}publicvoidprint(){System.out.println("账号:"+AccountNumber);System.out.println("名:"+AccountName);System.out.println("年利率:"+lixi);}}publicclassTestAccount{publicstaticvoidmain(Stringargs[]){Accounta=newAccount("3454523314","三");Accountb=newAccount("3454524315","四");a.print();b.print();b.lixi=0.9;System.out.println("修改年利率后:");a.print();b.print();}}2、静态方法的应用classSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:父类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:父类的非静态方法method2");}}classSubClassextendsSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:子类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:子类的非静态方法method2");}}publicclassTestStaticMethod{publicstaticvoidmain(Stringargs[]){SubClasssub=newSubClass();SuperClasssup;sup=sub;sup.method1();sub.method1();sup.method2();sub.method2();}}3、抽象方法的应用abstractclassEmployee{Stringname;Stringsex;publicEmployee(Stringn,Strings){name=n;sex=s;}publicabstractStringgetDetail();}classHourlyEmployeeextendsEmployee{privatedoublewageRate;privatedoublehours;publicHourlyEmployee(Stringn,Strings,doubler,doubleh){super(n,s);//调用父类的构造方法wageRate=r;hours=h;}publicStringgetDetail(){returnname+""+sex+"每小时工资"+wageRate+"元,工作了"+hours+"小时,共收入"+wageRate*hours+"元";}}classSalariedEmployeeextendsEmployee{privatedoublesalary;publicSalariedEmployee(Stringn,Stringse,doublesa){super(n,se);//调用父类的构造方法salary=sa;}publicStringgetDetail(){returnname+""+sex+"每月工资"+salary+"元";}}publicclassTestAbstract{publicstaticvoidmain(Stringargs[]){Employeee;HourlyEmployeehe=newHourlyEmployee("伟","男",50,20);e=he;System.out.println(e.getDetail());SalariedEmployeese=newSalariedEmployee("娜","女",3000);System.out.println(se.getDetail());}}
System.out.printf("%c",anArr[i]);
3、创建一个简单的成绩单程序,帮助老师评估学生的表现。
该程序用double数组存放成绩来计算平均成绩和标准方差。
成绩通过键盘输入字符串,然后转换成double类型的数据。
publicclassEg2620
System.out.println("请输入学生各科成绩,以空格区别!
");
Stringtext=reader.nextLine();
char[]arr=text.toCharArray();
inti,gs=0,js=1,mg=10;
doublesum=0,kg=1,germ=0,aver=0,sd=0;
for(i=0;i{if(arr[i]==''||arr[i]=='\0'){germ=germ*kg;sum=sum+germ;js=1;kg=1;germ=0;gs++;}elseif(arr[i]=='.'){js=0;}else{germ=germ*mg+(arr[i]-'0');if(js==0){kg=kg/10;}}}if((arr.length-1>=0)&&(arr[arr.length-1]!='')){germ=germ*kg;sum=sum+germ;gs++;}double[]gArr=newdouble[gs];gs=0;js=1;mg=10;kg=1;germ=0;for(i=0;i{if(arr[i]==''||arr[i]=='\0'){germ=germ*kg;gArr[gs]=germ;js=1;kg=1;germ=0;gs++;}elseif(arr[i]=='.'){js=0;}else{germ=germ*mg+(arr[i]-'0');if(js==0){kg=kg/10;}}}if((arr.length-1>=0)&&(arr[arr.length-1]!='')){germ=germ*kg;gArr[gs]=germ;gs++;}if(gs!=0){aver=sum/gs;for(i=0;i{sd=sd+(gArr[i]-aver)*(gArr[i]-aver);}sd=sd/gs;sd=Math.sqrt(sd);}System.out.println("平均值:"+aver+""+"标准方差:"+sd);}}试验四1、定义一个表示学生的类Student,包括域:学号、、性别、年龄;方法:获得学号、、性别、年龄;修改年龄。书写JAVA程序创建Student类的对象及测试其方法的功能。importjava.util.*;classStudent{privateintnomber;privateStringname;privateStringsex;privateintage;Student(intnomber,Stringname,Stringsex,intage){this.nomber=nomber;this.name=name;this.sex=sex;this.age=age;}voidshow(){System.out.println("show函数被调用");System.out.println("学号:"+nomber+"名字:"+name+"性别:"+sex+"年龄:"+age);}voidreage(intage){System.out.println("修改年龄函数被调用");this.age=age;}}publicclassEg484{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);System.out.println("请输入学号:");intnomber=reader.nextInt();System.out.println("请输入:");Stringname=reader.next();System.out.println("请输入性别:");Stringsex=reader.next();System.out.println("请输入年龄:");intage=reader.nextInt();Studentobj=newStudent(nomber,name,sex,age);obj.show();System.out.println("请修改年龄:");age=reader.nextInt();obj.reage(age);obj.show();}} 实验五1、成员方法的参数传递classF{intm=3;intn=4;}classTestVarPass{publicvoidchangeInt(intx,inty){//方法参数是基本数据类型inttemp;temp=x;x=y;y=temp;System.out.println("数据交换后:x="+x+",y="+y);}publicvoidchangeArray(int[]z){//方法参数是数组inttemp;temp=z[0];z[0]=z[1];z[1]=temp;}publicvoidchangeObject(Fff){//方法参数是对象inttemp;temp=ff.m;ff.m=ff.n;ff.n=temp;}publicstaticvoidmain(Stringargs[]){int[]c=newint[2];c[0]=1;c[1]=2;Ff=newF();TestVarPasst=newTestVarPass();//创建测试类对象System.out.println("调用changeInt方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeInt(c[0],c[1]);System.out.println("调用changeInt方法后:[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeArray方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeArray(c);System.out.println("调用changeArray方法后:c[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeObject方法前:f.m="+f.m+",f.n="+f.n);t.changeObject(f);System.out.println("调用changeObject方法后:f.m="+f.m+",f.n="+f.n);}}2、举一个包含静态变量与非静态变量的例子,说明静态成员变量的特征classStaticTest{publicintx=1;publicstaticinty=1;}classStaticTester{publicstaticvoidmain(Stringargs[]){StaticTest.y+=1;StaticTestt1=newStaticTest();StaticTestt2=newStaticTest();t1.x+=1;t1.y+=1;t2.x+=2;t2.y+=2;System.out.println("T1:X="+t1.x+",y="+t1.y);System.out.println("T2:X="+t2.x+",y="+t2.y);}}3、以矩形的面积计算为例,编写一个方法将引用类型作为参数classRefTypePara{doublewidth,height,area;RefTypePara(doublew,doublel){width=w;height=l;}voidcalculateArea(RefTypeParap){//引用类型参数p.area=p.width*p.height;}}classPassObj{publicstaticvoidmain(Stringargs[]){RefTypePararr=newRefTypePara(10,10);rr.calculateArea(rr);System.out.println("矩形面积为"+rr.area);}}实验六1、静态变量的应用classAccount{StringAccountNumber;StringAccountName;doublebalance;staticdoublelixi=0.1;publicAccount(Stringnumber,Stringname){AccountNumber=number;AccountName=name;balance=0.0;}publicvoidprint(){System.out.println("账号:"+AccountNumber);System.out.println("名:"+AccountName);System.out.println("年利率:"+lixi);}}publicclassTestAccount{publicstaticvoidmain(Stringargs[]){Accounta=newAccount("3454523314","三");Accountb=newAccount("3454524315","四");a.print();b.print();b.lixi=0.9;System.out.println("修改年利率后:");a.print();b.print();}}2、静态方法的应用classSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:父类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:父类的非静态方法method2");}}classSubClassextendsSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:子类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:子类的非静态方法method2");}}publicclassTestStaticMethod{publicstaticvoidmain(Stringargs[]){SubClasssub=newSubClass();SuperClasssup;sup=sub;sup.method1();sub.method1();sup.method2();sub.method2();}}3、抽象方法的应用abstractclassEmployee{Stringname;Stringsex;publicEmployee(Stringn,Strings){name=n;sex=s;}publicabstractStringgetDetail();}classHourlyEmployeeextendsEmployee{privatedoublewageRate;privatedoublehours;publicHourlyEmployee(Stringn,Strings,doubler,doubleh){super(n,s);//调用父类的构造方法wageRate=r;hours=h;}publicStringgetDetail(){returnname+""+sex+"每小时工资"+wageRate+"元,工作了"+hours+"小时,共收入"+wageRate*hours+"元";}}classSalariedEmployeeextendsEmployee{privatedoublesalary;publicSalariedEmployee(Stringn,Stringse,doublesa){super(n,se);//调用父类的构造方法salary=sa;}publicStringgetDetail(){returnname+""+sex+"每月工资"+salary+"元";}}publicclassTestAbstract{publicstaticvoidmain(Stringargs[]){Employeee;HourlyEmployeehe=newHourlyEmployee("伟","男",50,20);e=he;System.out.println(e.getDetail());SalariedEmployeese=newSalariedEmployee("娜","女",3000);System.out.println(se.getDetail());}}
if(arr[i]==''||arr[i]=='\0')
germ=germ*kg;
sum=sum+germ;
js=1;
kg=1;
germ=0;
gs++;
elseif(arr[i]=='.')
js=0;
else
germ=germ*mg+(arr[i]-'0');
if(js==0)
kg=kg/10;
if((arr.length-1>=0)&&(arr[arr.length-1]!
=''))
double[]gArr=newdouble[gs];
gs=0;
mg=10;
for(i=0;i{if(arr[i]==''||arr[i]=='\0'){germ=germ*kg;gArr[gs]=germ;js=1;kg=1;germ=0;gs++;}elseif(arr[i]=='.'){js=0;}else{germ=germ*mg+(arr[i]-'0');if(js==0){kg=kg/10;}}}if((arr.length-1>=0)&&(arr[arr.length-1]!='')){germ=germ*kg;gArr[gs]=germ;gs++;}if(gs!=0){aver=sum/gs;for(i=0;i{sd=sd+(gArr[i]-aver)*(gArr[i]-aver);}sd=sd/gs;sd=Math.sqrt(sd);}System.out.println("平均值:"+aver+""+"标准方差:"+sd);}}试验四1、定义一个表示学生的类Student,包括域:学号、、性别、年龄;方法:获得学号、、性别、年龄;修改年龄。书写JAVA程序创建Student类的对象及测试其方法的功能。importjava.util.*;classStudent{privateintnomber;privateStringname;privateStringsex;privateintage;Student(intnomber,Stringname,Stringsex,intage){this.nomber=nomber;this.name=name;this.sex=sex;this.age=age;}voidshow(){System.out.println("show函数被调用");System.out.println("学号:"+nomber+"名字:"+name+"性别:"+sex+"年龄:"+age);}voidreage(intage){System.out.println("修改年龄函数被调用");this.age=age;}}publicclassEg484{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);System.out.println("请输入学号:");intnomber=reader.nextInt();System.out.println("请输入:");Stringname=reader.next();System.out.println("请输入性别:");Stringsex=reader.next();System.out.println("请输入年龄:");intage=reader.nextInt();Studentobj=newStudent(nomber,name,sex,age);obj.show();System.out.println("请修改年龄:");age=reader.nextInt();obj.reage(age);obj.show();}} 实验五1、成员方法的参数传递classF{intm=3;intn=4;}classTestVarPass{publicvoidchangeInt(intx,inty){//方法参数是基本数据类型inttemp;temp=x;x=y;y=temp;System.out.println("数据交换后:x="+x+",y="+y);}publicvoidchangeArray(int[]z){//方法参数是数组inttemp;temp=z[0];z[0]=z[1];z[1]=temp;}publicvoidchangeObject(Fff){//方法参数是对象inttemp;temp=ff.m;ff.m=ff.n;ff.n=temp;}publicstaticvoidmain(Stringargs[]){int[]c=newint[2];c[0]=1;c[1]=2;Ff=newF();TestVarPasst=newTestVarPass();//创建测试类对象System.out.println("调用changeInt方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeInt(c[0],c[1]);System.out.println("调用changeInt方法后:[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeArray方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeArray(c);System.out.println("调用changeArray方法后:c[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeObject方法前:f.m="+f.m+",f.n="+f.n);t.changeObject(f);System.out.println("调用changeObject方法后:f.m="+f.m+",f.n="+f.n);}}2、举一个包含静态变量与非静态变量的例子,说明静态成员变量的特征classStaticTest{publicintx=1;publicstaticinty=1;}classStaticTester{publicstaticvoidmain(Stringargs[]){StaticTest.y+=1;StaticTestt1=newStaticTest();StaticTestt2=newStaticTest();t1.x+=1;t1.y+=1;t2.x+=2;t2.y+=2;System.out.println("T1:X="+t1.x+",y="+t1.y);System.out.println("T2:X="+t2.x+",y="+t2.y);}}3、以矩形的面积计算为例,编写一个方法将引用类型作为参数classRefTypePara{doublewidth,height,area;RefTypePara(doublew,doublel){width=w;height=l;}voidcalculateArea(RefTypeParap){//引用类型参数p.area=p.width*p.height;}}classPassObj{publicstaticvoidmain(Stringargs[]){RefTypePararr=newRefTypePara(10,10);rr.calculateArea(rr);System.out.println("矩形面积为"+rr.area);}}实验六1、静态变量的应用classAccount{StringAccountNumber;StringAccountName;doublebalance;staticdoublelixi=0.1;publicAccount(Stringnumber,Stringname){AccountNumber=number;AccountName=name;balance=0.0;}publicvoidprint(){System.out.println("账号:"+AccountNumber);System.out.println("名:"+AccountName);System.out.println("年利率:"+lixi);}}publicclassTestAccount{publicstaticvoidmain(Stringargs[]){Accounta=newAccount("3454523314","三");Accountb=newAccount("3454524315","四");a.print();b.print();b.lixi=0.9;System.out.println("修改年利率后:");a.print();b.print();}}2、静态方法的应用classSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:父类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:父类的非静态方法method2");}}classSubClassextendsSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:子类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:子类的非静态方法method2");}}publicclassTestStaticMethod{publicstaticvoidmain(Stringargs[]){SubClasssub=newSubClass();SuperClasssup;sup=sub;sup.method1();sub.method1();sup.method2();sub.method2();}}3、抽象方法的应用abstractclassEmployee{Stringname;Stringsex;publicEmployee(Stringn,Strings){name=n;sex=s;}publicabstractStringgetDetail();}classHourlyEmployeeextendsEmployee{privatedoublewageRate;privatedoublehours;publicHourlyEmployee(Stringn,Strings,doubler,doubleh){super(n,s);//调用父类的构造方法wageRate=r;hours=h;}publicStringgetDetail(){returnname+""+sex+"每小时工资"+wageRate+"元,工作了"+hours+"小时,共收入"+wageRate*hours+"元";}}classSalariedEmployeeextendsEmployee{privatedoublesalary;publicSalariedEmployee(Stringn,Stringse,doublesa){super(n,se);//调用父类的构造方法salary=sa;}publicStringgetDetail(){returnname+""+sex+"每月工资"+salary+"元";}}publicclassTestAbstract{publicstaticvoidmain(Stringargs[]){Employeee;HourlyEmployeehe=newHourlyEmployee("伟","男",50,20);e=he;System.out.println(e.getDetail());SalariedEmployeese=newSalariedEmployee("娜","女",3000);System.out.println(se.getDetail());}}
gArr[gs]=germ;
if(gs!
=0)
aver=sum/gs;
for(i=0;i{sd=sd+(gArr[i]-aver)*(gArr[i]-aver);}sd=sd/gs;sd=Math.sqrt(sd);}System.out.println("平均值:"+aver+""+"标准方差:"+sd);}}试验四1、定义一个表示学生的类Student,包括域:学号、、性别、年龄;方法:获得学号、、性别、年龄;修改年龄。书写JAVA程序创建Student类的对象及测试其方法的功能。importjava.util.*;classStudent{privateintnomber;privateStringname;privateStringsex;privateintage;Student(intnomber,Stringname,Stringsex,intage){this.nomber=nomber;this.name=name;this.sex=sex;this.age=age;}voidshow(){System.out.println("show函数被调用");System.out.println("学号:"+nomber+"名字:"+name+"性别:"+sex+"年龄:"+age);}voidreage(intage){System.out.println("修改年龄函数被调用");this.age=age;}}publicclassEg484{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);System.out.println("请输入学号:");intnomber=reader.nextInt();System.out.println("请输入:");Stringname=reader.next();System.out.println("请输入性别:");Stringsex=reader.next();System.out.println("请输入年龄:");intage=reader.nextInt();Studentobj=newStudent(nomber,name,sex,age);obj.show();System.out.println("请修改年龄:");age=reader.nextInt();obj.reage(age);obj.show();}} 实验五1、成员方法的参数传递classF{intm=3;intn=4;}classTestVarPass{publicvoidchangeInt(intx,inty){//方法参数是基本数据类型inttemp;temp=x;x=y;y=temp;System.out.println("数据交换后:x="+x+",y="+y);}publicvoidchangeArray(int[]z){//方法参数是数组inttemp;temp=z[0];z[0]=z[1];z[1]=temp;}publicvoidchangeObject(Fff){//方法参数是对象inttemp;temp=ff.m;ff.m=ff.n;ff.n=temp;}publicstaticvoidmain(Stringargs[]){int[]c=newint[2];c[0]=1;c[1]=2;Ff=newF();TestVarPasst=newTestVarPass();//创建测试类对象System.out.println("调用changeInt方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeInt(c[0],c[1]);System.out.println("调用changeInt方法后:[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeArray方法前:c[0]="+c[0]+",c[1]="+c[1]);t.changeArray(c);System.out.println("调用changeArray方法后:c[0]="+c[0]+",c[1]="+c[1]);System.out.println("调用changeObject方法前:f.m="+f.m+",f.n="+f.n);t.changeObject(f);System.out.println("调用changeObject方法后:f.m="+f.m+",f.n="+f.n);}}2、举一个包含静态变量与非静态变量的例子,说明静态成员变量的特征classStaticTest{publicintx=1;publicstaticinty=1;}classStaticTester{publicstaticvoidmain(Stringargs[]){StaticTest.y+=1;StaticTestt1=newStaticTest();StaticTestt2=newStaticTest();t1.x+=1;t1.y+=1;t2.x+=2;t2.y+=2;System.out.println("T1:X="+t1.x+",y="+t1.y);System.out.println("T2:X="+t2.x+",y="+t2.y);}}3、以矩形的面积计算为例,编写一个方法将引用类型作为参数classRefTypePara{doublewidth,height,area;RefTypePara(doublew,doublel){width=w;height=l;}voidcalculateArea(RefTypeParap){//引用类型参数p.area=p.width*p.height;}}classPassObj{publicstaticvoidmain(Stringargs[]){RefTypePararr=newRefTypePara(10,10);rr.calculateArea(rr);System.out.println("矩形面积为"+rr.area);}}实验六1、静态变量的应用classAccount{StringAccountNumber;StringAccountName;doublebalance;staticdoublelixi=0.1;publicAccount(Stringnumber,Stringname){AccountNumber=number;AccountName=name;balance=0.0;}publicvoidprint(){System.out.println("账号:"+AccountNumber);System.out.println("名:"+AccountName);System.out.println("年利率:"+lixi);}}publicclassTestAccount{publicstaticvoidmain(Stringargs[]){Accounta=newAccount("3454523314","三");Accountb=newAccount("3454524315","四");a.print();b.print();b.lixi=0.9;System.out.println("修改年利率后:");a.print();b.print();}}2、静态方法的应用classSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:父类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:父类的非静态方法method2");}}classSubClassextendsSuperClass{publicstaticvoidmethod1(){System.out.println("这里调用的是:子类的静态方法method1");}publicvoidmethod2(){System.out.println("这里调用的是:子类的非静态方法method2");}}publicclassTestStaticMethod{publicstaticvoidmain(Stringargs[]){SubClasssub=newSubClass();SuperClasssup;sup=sub;sup.method1();sub.method1();sup.method2();sub.method2();}}3、抽象方法的应用abstractclassEmployee{Stringname;Stringsex;publicEmployee(Stringn,Strings){name=n;sex=s;}publicabstractStringgetDetail();}classHourlyEmployeeextendsEmployee{privatedoublewageRate;privatedoublehours;publicHourlyEmployee(Stringn,Strings,doubler,doubleh){super(n,s);//调用父类的构造方法wageRate=r;hours=h;}publicStringgetDetail(){returnname+""+sex+"每小时工资"+wageRate+"元,工作了"+hours+"小时,共收入"+wageRate*hours+"元";}}classSalariedEmployeeextendsEmployee{privatedoublesalary;publicSalariedEmployee(Stringn,Stringse,doublesa){super(n,se);//调用父类的构造方法salary=sa;}publicStringgetDetail(){returnname+""+sex+"每月工资"+salary+"元";}}publicclassTestAbstract{publicstaticvoidmain(Stringargs[]){Employeee;HourlyEmployeehe=newHourlyEmployee("伟","男",50,20);e=he;System.out.println(e.getDetail());SalariedEmployeese=newSalariedEmployee("娜","女",3000);System.out.println(se.getDetail());}}
sd=sd+(gArr[i]-aver)*(gArr[i]-aver);
sd=sd/gs;
sd=Math.sqrt(sd);
System.out.println("平均值:
"+aver+""+"标准方差:
"+sd);
试验四
1、定义一个表示学生的类Student,包括域:
学号、、性别、年龄;方法:
获得学号、、性别、年龄;修改年龄。
书写JAVA程序创建Student类的对象及测试其方法的功能。
classStudent
privateintnomber;
privateStringname;
privateStringsex;
privateintage;
Student(intnomber,Stringname,Stringsex,intage)
this.nomber=nomber;
this.name=name;
this.sex=sex;
this.age=age;
voidshow()
System.out.println("show函数被调用");
System.out.println("学号:
"+nomber+"名字:
"+name+"性别:
"+sex+"年龄:
"+age);
voidreage(intage)
System.out.println("修改年龄函数被调用");
publicclassEg484
System.out.println("请输入学号:
intnomber=reader.nextInt();
System.out.println("请输入:
Stringname=reader.next();
System.out.println("请输入性别:
Stringsex=reader.next();
System.out.println("请输入年龄:
intage=reader.nextInt();
Studentobj=newStudent(nomber,name,sex,age);
obj.show();
System.out.println("请修改年龄:
age=reader.nextInt();
obj.reage(age);
实验五
1、成员方法的参数传递
classF{
intm=3;
intn=4;
classTestVarPass{
publicvoidchangeInt(intx,inty){//方法参数是基本数据类型
inttemp;
temp=x;
x=y;
y=temp;
System.out.println("数据交换后:
x="+x+",y="+y);
publicvoidchangeArray(int[]z){//方法参数是数组
temp=z[0];
z[0]=z[1];
z[1]=temp;
publicvoidchangeObject(Fff){//方法参数是对象
temp=ff.m;
ff.m=ff.n;
ff.n=temp;
publicstaticvoidmain(Stringargs[]){
int[]c=newint[2];
c[0]=1;
c[1]=2;
Ff=newF();
TestVarPasst=newTestVarPass();//创建测试类对象
System.out.println("调用changeInt方法前:
c[0]="+c[0]+",c[1]="+c[1]);
t.changeInt(c[0],c[1]);
System.out.println("调用changeInt方法后:
[0]="+c[0]+",c[1]="+c[1]);
System.out.println("调用changeArray方法前:
t.changeArray(c);
System.out.println("调用changeArray方法后:
System.out.println("调用changeObject方法前:
f.m="+f.m+",f.n="+f.n);
t.changeObject(f);
System.out.println("调用changeObject方法后:
2、举一个包含静态变量与非静态变量的例子,说明静态成员变量的特征
classStaticTest
publicintx=1;
publicstaticinty=1;
classStaticTester{
publicstaticvoidmain(Stringargs[])
StaticTest.y+=1;
StaticTestt1=newStaticTest();
StaticTestt2=newStaticTest();
t1.x+=1;
t1.y+=1;
t2.x+=2;
t2.y+=2;
System.out.println("T1:
X="+t1.x+",y="+t1.y);
System.out.println("T2:
X="+t2.x+",y="+t2.y);
3、以矩形的面积计算为例,编写一个方法将引用类型作为参数
classRefTypePara{
doublewidth,height,area;
RefTypePara(doublew,doublel){
width=w;
height=l;
voidcalculateArea(RefTypeParap){//引用类型参数
p.area=p.width*p.height;
classPassObj{
RefTypePararr=newRefTypePara(10,10);
rr.calculateArea(rr);
System.out.println("矩形面积为"+rr.area);
实验六
1、静态变量的应用
classAccount{
StringAccountNumber;
StringAccountName;
doublebalance;
staticdoublelixi=0.1;
publicAccount(Stringnumber,Stringname){
AccountNumber=number;
AccountName=name;
balance=0.0;
publicvoidprint(){
System.out.println("账号:
"+AccountNumber);
System.out.println("名:
"+AccountName);
System.out.println("年利率:
"+lixi);
publicclassTestAccount{
Accounta=newAccount("3454523314","三");
Accountb=newAccount("3454524315","四");
a.print();
b.print();
b.lixi=0.9;
System.out.println("修改年利率后:
2、静态方法的应用
classSuperClass{
publicstaticvoidmethod1(){
System.out.println("这里调用的是:
父类的静态方法method1");
publicvoidmethod2(){
父类的非静态方法method2");
classSubClassextendsSuperClass{
子类的静态方法method1");
子类的非静态方法method2");
publicclassTestStaticMethod{
SubClasssub=newSubClass();
SuperClasssup;
sup=sub;
sup.method1();
sub.method1();
sup.method2();
sub.method2();
3、抽象方法的应用
abstractclassEmployee{
Stringname;
Stringsex;
publicEmployee(Stringn,Strings){
name=n;
sex=s;
publicabstractStringgetDetail();
classHourlyEmployeeextendsEmployee{
privatedoublewageRate;
privatedoublehours;
publicHourlyEmployee(Stringn,Strings,doubler,doubleh){
super(n,s);//调用父类的构造方法
wageRate=r;
hours=h;
publicStringgetDetail(){
returnname+""+sex+"每小时工资"+wageRate+"元,工作了"+hours+"小时,共收入"+wageRate*hours+"元";
classSalariedEmployeeextendsEmployee{
privatedoublesalary;
publicSalariedEmployee(Stringn,Stringse,doublesa){
super(n,se);//调用父类的构造方法
salary=sa;
returnname+""+sex+"每月工资"+salary+"元";
publicclassTestAbstract{
Employeee;
HourlyEmployeehe=newHourlyEmployee("伟","男",50,20);
e=he;
System.out.println(e.getDetail());
SalariedEmployeese=newSalariedEmployee("娜","女",3000);
System.out.println(se.getDetail());
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1