您好,欢迎访问三七文档
Java程序设计实验(NO.1)1、实验目的:使用Java的String类操作字符串和子串。写一个程序可以对两个字符串进行测试,判断第一个字符串是否包含在第二个字符串中,例如字符串“op”包含在字符串“interoperabilityop”中。当第一个字符串包含在第二个字符串中时,显示第一个字符串在第二个字符串中的起始位置;如果被多次包含,则一一列出各个起始位置;如果不包含,也给出相应的提示信息。提示:利用API帮助文档,查找并使用下面方法:booleanregionMatches(inttoffset,Stringother,intooffset,intlen)publicclassStringTest{publicstaticvoidmain(String[]arg){Stringbig=interoerabilityo;Stringsmall=newString(o);//Stringsmall2=a;inti;booleantag;booleanmatchtag=false;//if(small==a)System.out.println(琵琶);for(i=0;ibig.length();i++){tag=big.regionMatches(i,small,0,small.length());if(tag){matchtag=true;System.out.println(匹配的index为+i);}}if(matchtag==false)System.out.println(没有匹配的);}}2、实验目的:掌握java中数组的使用。实验要求:1)创建一个字符数组测试类ArrayTest,在其main方法中:将5个元素的数组a拷贝至8个元素的数组b中。数组a和b初始值均为空,a数组通过命令行输入进行初始化,通过提示信息“准备把a拷贝到b数组中,请按任意键开始”,进行数组拷贝,完毕后,输出b数组的内容。提示:第一行写importjava.util.*;利用Scanner类的newScanner(System.in)和nextInt();importjava.util.*;publicclassArrayTest{publicstaticvoidmain(String[]arg){int[]a=newint[5];int[]b=newint[8];Scannerinput=newScanner(System.in);System.out.println(请输入数组a的元素,共计5个);for(inti=0;i5;i++){a[i]=input.nextInt();}System.out.println(准备把acopy到b数组中,请按任意键开始);for(inti=0;i5;i++){b[i]=a[i];}for(inti=0;i5;i++){System.out.println(b[i]+);}}}Java程序设计实验(NO.2)实验目的:掌握类的定义、实例对象的创建、封装、方法的使用,权限控制、static、final的使用。1、设计一个日期类(Date),它包含了3个变量:year、month、day,进行年、月、日的设置和读取(读取输出格式:年/月/日)。注意:如果是闰年,则2月有29号。如果为非有效日期,则自动重置为1月或1日,并输出错误提示信息。要求:理解和填充下面程序框架,用3个日期对象进行程序测试:1997年13月4号,1999年2月29日,2000年2月29日。publicclassDate{privateintyear;privateintmonth;privateintday;publicDate(intyear,intmonth,intday){//构造方法,以年、月、日为参数setDate(year,month,day);}publicvoidsetDate(intyear,intmonth,intday){//设置date的年、月、日this.year=year;this.month=checkMonth(month);this.day=checkDay(day);}publicStringgetDate(){//以串形式返回returnyear+/+month+/+day;}privateintcheckMonth(intmonth){if(month=0&&month=12)returnmonth;else{System.out.println(invoidmonth(+month+)setto1);return1;//如果月设置无效,直接返回1}}privateintcheckDay(intday){int[]dayperMonth={0,31,28,31,30,31,30,31,31,30,31,30,31};if((day=1)&&(day=dayperMonth[month]))returnday;if(((year%4==0&&year%100!=0)||year%400==0)&&month==2&&day==29)returnday;System.out.println(invoidday(+day+)setto1);return1;}publicstaticvoidmain(String[]args){Datedate1=newDate(1997,13,4);System.out.println(date1.getDate());Datedate2=newDate(1999,2,29);System.out.println(date2.getDate());Datedate3=newDate(2001,2,29);System.out.println(date3.getDate());}}2、设计学生类Student包含属性有姓名name和年龄age,由学生类派生出本科生类Undergraduate和研究生类Graduate。本科生包含的属性有专业specialty,研究生包含的属性有研究方向study_direction每个类都有相关数据的输出方法,运行效果如下:要求:在程序中出现this和super(…)classStudent{protectedStringname;protectedintage;protectedStringdegree;protectedstaticfinalintMALE=0;protectedstaticfinalintFEMALE=1;publicStudent(Stringname,intage,Stringdegree){this.name=name;this.age=age;this.degree=degree;}publicvoidshow(){System.out.println(name+,+age+,+degree);}publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnthis.name;}}classUndergraduateextendsStudent{privateStringspecialty;publicUndergraduate(Stringname,intage,Stringdegree,Stringspe){super(name,age,degree);this.specialty=spe;}publicvoidshow(){System.out.println(姓名:+name);System.out.println(年龄:+age);System.out.println(学位:+degree);System.out.println(专业:+specialty);}}classGraduateextendsStudent{privateStringstudydirection;publicGraduate(Stringname,intage,Stringdegree,Stringstu){super(name,age,degree);this.studydirection=stu;}publicvoidshow(){System.out.println(姓名:+name);System.out.println(年龄:+age);System.out.println(学位:+degree);System.out.println(研究方向:+studydirection);}}publicclassStudentTest{publicstaticvoidmain(Stringargs[]){Undergraduatewj=newUndergraduate(王军,23,本科,工业自动化);wj.show();Graduatelj=newGraduate(刘君,27,硕士,网络技术);lj.show();}}3、创建一个点的类Point,要求包含a)以两点坐标为参数的构造方法;以Point为参数的构造方法;b)设置和获取点坐标的方法;创建一个圆的类Circle,要求包含:a)至少两种构造方法;b)设置和获取圆半径、圆心的方法;c)计算圆的直径、圆的周长和圆的面积的方法。创建测试类,建立圆对象,输出它的直径、面积和周长信息;再次改变该圆半径或圆心信息,并输出它的直径、面积和周长信息。classPoint{privatedoublex;privatedoubley;publicPoint(doublex,doubley){this.x=x;this.y=y;}publicPoint(Pointp){x=p.x;y=p.y;}publicvoidsetX(doublex){this.x=x;}publicvoidsetY(doubley){this.y=y;}doublegetX(){returnx;}doublegetY(){returny;}}publicclassCircle{privatePointcenter;privatedoubleradius;privatestaticfinaldoublePI=3.1415;publicCircle(Pointp,doubler){center=p;radius=r;}publicvoidsetCenter(Pointp){center=p;}publicvoidsetRadius(doubler){radius=r;}publicPointgetCenter(){returncenter;}publicdoublegetRadius(){returnradius;}publicdoublegetArea(){return(PI*radius*radius);}———————————————————————————————————//测试用publicstaticvoidmain(String[]args){Pointp1,p2;Circlec;p1=newPoint(3,2);c=newCircle(p1,5);System.out.println(centerofcis:+c.getCenter().getX()+,+c.getCenter().getY());p2=newPoint(5,6);c.setCenter(p2);System.out.println(centerofcchangedto:+c.getCenter().getX()+,+c.getCenter().getY());}}Java程序设计实验(NO.3)实验目的:理解方法的重载、重写,掌握抽象类、接口和多态的使用。1、定义矩形接口Rect,在接口中有计算面积area()、获取宽度getWidth()、获取高度、设置矩形某端点位置等,继承接口Rect实现矩形Rectangle,包含四个成员变量,分别定义该矩形的左上角和右下角的坐标,lefttop_x、lefttop_
本文标题:java实验汇总
链接地址:https://www.777doc.com/doc-5268055 .html