《JAVA编程技术》实验指导书14学时指导教师:张智实验1Java基础编程(4学时)实验目的1.掌握设置、编写与运行Java程序的方法。2.掌握Java基本数据类型、运算符与表达式、数组的使用方法。3.掌握Java程序顺序结构、选择结构、循环结构的程序设计方法。实验任务1.用循环语句编写一个程序,算出1000之内的全部素数。2.写出符合如下要求的程序,并运行。(1)声明两个长度为10的double类型的数组A、B,并赋值。(2)用这两个数组中的元素做加法运算,然后将结果保存在数组C之中。(3)分别将这三个数组中的元素输出。3.使用递归方法输出杨辉三角,数据要存放在二维数组中,要求输出10行。实验代码:1.用循环语句编写一个程序,算出1000之内的全部素数。packageshiyan1;publicclasssushu{publicstaticbooleanisPrime(intnum){for(inti=2;i=Math.sqrt(num);i++){if(num%i==0){returnfalse;}}returntrue;}publicstaticvoidmain(String[]args){inti=0;for(intj=2;j=1000;j++){if(sushu.isPrime(j)){System.out.print(j+);i++;}if(i==10){System.out.println();i=0;}}}}实验截图:2.写出符合如下要求的程序,并运行。(1)声明两个长度为10的double类型的数组A、B,并赋值。(2)用这两个数组中的元素做加法运算,然后将结果保存在数组C之中。(3)分别将这三个数组中的元素输出。实验代码:packageshiyan1;importjava.util.Arrays;publicclassshuzuxiangjia{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubdouble[]a=newdouble[]{1,2,3,4,5,6,7,8,9,10};double[]b=newdouble[]{1,2,3,4,5,6,7,8,9,10};double[]c=newdouble[10];for(inti=0;ia.length;i++){c[i]=a[i]+b[i];}System.out.print(Arrays.toString(a));System.out.println();System.out.print(Arrays.toString(b));System.out.println();System.out.print(Arrays.toString(c));System.out.println();}}实验截图:3.使用递归方法输出杨辉三角,数据要存放在二维数组中,要求输出10行。实验代码:packageshiyan1;publicclassyanghuisanjiao{publicstaticintyang(inti,intj){if(i==j||j==0)return1;returnyang(i-1,j-1)+yang(i-1,j);}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintn=10;intmat[][]=newint[10][];for(inti=0;in;i++)mat[i]=newint[i+1];for(inti=0;imat.length;i++)for(intj=0;jmat[i].length;j++)mat[i][j]=yang(i,j);for(inti=0;imat.length;i++){for(intj=0;jmat[i].length;j++)System.out.print(String.format(%4d,mat[i][j]));System.out.println();}}}实验截图:实验2Java面向对象编程(2学时)实验目的1.掌握创建类和对象的方法。2.掌握构造方法的执行过程。3.掌握Java继承、多态和接口的编程方法。实验任务1.创建Rodent(啮齿动物)抽象类,其子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(大颊鼠)。在父类中,提供对所有的Rodent通用的方法。在子类中,根据该子类特定的行为习性来覆盖这些方法。例如老鼠属杂食(omnivorous),鼹鼠主食昆虫(insect),大颊鼠主食植物种子(plantseed)。创建一个Rodent数组,填充不同的数据类型,然后调用测试相关方法。2.修改上述第1题中的Rodent类,使其成为一个接口。在接口中声明方法eatWhichFood。定义各种啮齿动物类,并实现这个接口。创建各种啮齿动物类的对象,观察程序的输出。实验代码:1.创建Rodent(啮齿动物)抽象类,其子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(大颊鼠)。在父类中,提供对所有的Rodent通用的方法。在子类中,根据该子类特定的行为习性来覆盖这些方法。例如老鼠属杂食(omnivorous),鼹鼠主食昆虫(insect),大颊鼠主食植物种子(plantseed)。创建一个Rodent数组,填充不同的数据类型,然后调用测试相关方法。packageshiyan2;publicabstractclassRodent{privateStringRodentName;Rodent(Strings){RodentName=s;}publicabstractStringgetInformation();publicStringgetName(){returnRodentName;}}classMouseextendsRodent{privateStringfood;publicMouse(StringF,Strings){super(s);food=F;}publicStringgetInformation(){returnMouse类型的+getName()+的食物是+food;}}classMoleextendsRodent{privateStringfood;publicMole(StringF,Strings){super(s);food=F;}publicStringgetInformation(){returnMole类型的+getName()+的食物是+food;}}classHamsterextendsRodent{privateStringfood;publicHamster(StringF,Strings){super(s);food=F;}publicStringgetInformation(){returnHamster类型的+getName()+的食物是+food;}}packageshiyan2;publicclasstestRodent{publicstaticvoidmain(String[]args){Rodent[]rodent=newRodent[3];rodent[0]=newMouse(omnivorous,xiaozhang);rodent[1]=newMole(insect,xiaozhi);rodent[2]=newHamster(plantseed,xiaochen);for(Rodente:rodent){System.out.println(e.getInformation());}}}实验截图:2.修改上述第1题中的Rodent类,使其成为一个接口。在接口中声明方法eatWhichFood。定义各种啮齿动物类,并实现这个接口。创建各种啮齿动物类的对象,观察程序的输出。实验代码:packageshiyan2_2;interfaceRodent{StringeatWhichFood();}classMouseimplementsRodent{privateStringname;privateStringfood;publicMouse(Stringaname,Stringafood){this.name=aname;this.food=afood;}publicStringeatWhichFood(){returnMouse类型的+name+'sfoodis+food;}}classMoleimplementsRodent{privateStringname;privateStringfood;publicMole(Stringaname,Stringafood){this.name=aname;this.food=afood;}publicStringeatWhichFood(){returnMole类型的+name+'sfoodis+food;}}classHamsterimplementsRodent{privateStringname;privateStringfood;publicHamster(Stringaname,Stringafood){this.name=aname;this.food=afood;}publicStringeatWhichFood(){returnHamster类型的+name+'sfoodis+food;}}packageshiyan2_2;importshiyan2_2.Rodent;publicclasstestRodent{publicstaticvoidmain(String[]args){Rodentrodent[]=newRodent[3];rodent[0]=newMouse(xiaoxu,omnivorous);rodent[1]=newMole(xiaozhi,insect);rodent[2]=newHamster(xiaowei,plantseed);/*Rodenta=newMouse(xiaoxu,omnivorous);Rodentb=newMole(xiaozhi,insect);Rodentc=newHamster(xiaowei,plantseed);或者这一种也行*/for(Rodente:rodent){System.out.println(e.eatWhichFood());}}}实验截图:实验3JavaSwing编程(4学时)实验目的1.掌握JavaSwing常用组件的编程方法。2.理解Java事件。实验任务1.设计一个JFrame窗口,输入学生的基本信息,包括学号、姓名、学院、专业(下拉列表)、班级、籍贯(级联)、性别(单选按钮)、爱好(多选)、备注等,在界面中包括提交和重填按钮。提交后弹出窗口显示学生信息。要求尽量使用不同的Swing组件。2.实现一个计算器,界面包括10个数字按钮(0至9)和四个运算符(加减乘除)按钮,以及等号和清空两个辅助按钮,还有一个用于显示输入输出的文本框。设计一个JFrame窗口,输入学生的基本信息,包括学号、姓名、学院、专业(下拉列表)、班级、籍贯(级联)、性别(单选按钮)、爱好(多选)、备注等,在界面中包括提交和重填按钮。提交后弹出窗口显示学生信息。要求尽量使用不同的Swing组件。实验代码:packageshiyan3_1;importjava.awt.BorderLayout;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.ButtonGroup;importjavax.swing.GroupLayout;importjavax.swing.GroupLayout.Alignment;importjavax.sw