




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 中国矿业大学计算机学院 2013 级本科生课程报告课程名称 网络编程 报告时间 15.11.20 学生姓名 孟奇 学 号 08133606 专 业 信息安全 任课教师 张爱娟 实验一 开发工具和语言基础一、实验目的和要求1掌握JDK的安装、环境配置和使用;掌握JBuilder或Eclips的安装和使用。使用JDK、JBuilder或Eclips编辑、编译和运行Java程序。2掌握Java的语言基础。3掌握简单语句、标准输入输出和选择语句的编程。二、实验内容 1JDK 开发环境的安装配置实践在 Windows 下,直接运行下载的 j2sdk1.4.2.exe 文件,根据安装向导安装到一个目录,
2、例如安装到 C:j2sdk1.4.2。设置环境变量:如果操作系统是 Win 98/Me,可以用记事本直接编辑 Autoexec.bat,添加下面命令行: PATH=PATH%.c:j2sdk1.4.2bin SET JAVA_HOME=c:j2sdk1.4.2 SET CLASSPATH=.c:j2sdk1.4.2libtools.jar.c:j2sdk1.4.2libdt.jar 保存后重新启动计算机,这样所添加的环境变量才会有效。 如果操作系统是Win2000 或 xp,按如下方式配置环境变量:右键单击我的电脑,在弹出菜单中选择属性系统特性 高级 环境变量, 弹出环境变量对话框,就可以编辑
3、系统的环境变量了。添加 PATH、JAVA_HOME 和 CLASSPATH 三个变量,变量值同上。 最后编写并运行一个Java 程序,使其输出:“Java 你好!”*实验代码:public class HelloWorld public static void main(String argv)System.out.println(Hello World!);2JBuilder或Eclips的安装使用实践在计算机上安装JBuilder或Eclips,然后编写并运行一个Java 程序,使其输出:“Java 你好!”*实验代码:public class HelloWorld public sta
4、tic void main(String argv)System.out.println(Java 你好!); 3熟悉Java工程结构、Java程序结构及上机运行过程1)编写一个最简单的Java程序,只输出一句话“Java 你好!”。 要求:类名为MyJava1, 公共类(即类名前有public修饰)。程序运行通过后打开工程文件夹,观察文件夹的结构,其中的文件及其文件名称。2)在内容窗口中修改上面程序中的类名,观察有什么反映,想一想是什么原因?3)在内容窗口中对1)的程序进行如下修改:将类名前的public修饰符去掉,观察有什么反映,想一想是什么原因?4)在1)的程序最后再加一个公共类: pu
5、blic class MyJava2 观察有什么反映,想一想是什么原因?5)在1)的程序中再加一个非公共类: class MyJava2 观察程序能运行否。实验代码:略修改类名后不能运行。因为类名要与文件名相同。去掉public后仍能运行。大概系统默认Myjava为主类。加一个公共类和非公共类仍然可以运行。4熟悉标准输出语句编写一个程序,在主方法中写入如下语句: System.out.println(1+2.3); System.out.println(abc+def); System.out.println(ab+1); System.out.println(abc+1+2.3); Syst
6、em.out.println(1+2.3+abc); System.out.println(1+abc +2.3);观察运行结果,想一想为什么有这样的结果。5分析下面的程序,它有什么错误,应如何改正?再将程序输入机器,看有什么错误,改正(仅修改初值)后运行它,观察输出的值,理解基本数据类型及基本数据类型常值的表示。public class Test public static void main(String args) byte b=0x55; short s=0400; int i=100000; long l=0xff; char c1=A; /应该改成单引号 char c2=65; f
7、loat f=.25; /数据末尾应该加f double d=.00001234; boolean bool=true; System.out.println(byte b=+b); System.out.println(short s=+s); System.out.println(int i=+i); System.out.println(long l=+l); System.out.println(char c1=+c1); System.out.println(char c2=+c2); System.out.println(float f=+f); System.out.printl
8、n(double d=+d); System.out.println(boolean bool=+bool); 6编写一程序,运行后从键盘输入三个整数,输出其中的最大数。(if语句)*实验代码:import java.util.*; public class Test public static void main(String args) int a,b,c,max;Scanner reader=new Scanner(System.in); a=reader.nextInt(); b=reader.nextInt(); c=reader.nextInt();if(ab) max=a; el
9、se max=b; if(cmax) max=c; else max=max; System.out.println(max); 7编写一程序,将从键盘输入的一个百分制考试成绩转化为五分制输出。百分制与五分制的对应如下: (switch语句)10090 A, 8980 B, 7970 C, 6960 D, 60 E *实验代码:import java.util.*;public class Test7 public static void main(String args) int a; Scanner reader=new Scanner(System.in); a=reader.nextI
10、nt(); a=a/10; switch(a) case 10: System.out.println(A); break; case 9: System.out.println(A); break; case 8: System.out.println(B); break; case 7: System.out.println(C); break; case 6: System.out.println(D); break; default: System.out.println(E); 三、实验体会: 通过第一次实验,我掌握了java在dos环境下和在eclipse环境下的运行方式,深刻理解
11、了java中类的概念,并掌握了基本的输入输出语句。对if else ,swtich case语句等理解也变得更加深刻。编程中遇到的问题是switch语句中一开始时case后面设成了变量,后拉才发现应该用常量。实验二 流程控制程序设计一、实验目的和要求掌握Java流程控制语句、Math类、数组的编程方法。二、实验内容 1打印一个三角形的19的乘法表。 实验代码:public class cf public static void main(String args) int i,j; System.out.println(* 1 2 3 4 5 6 7 8 9); for(i=1;i=9;i+)
12、System.out.print(i); for(j=1;j=i;j+) if(i*j=9) System.out.print( +i*j); else System.out.print( +i*j); System.out.println(); 2编写一程序,将从键盘输入的每个月份数(整数)显示出其对应的英文,直至输入0结束,注意对非法数据的处理。 (while,switch语句)实验代码:import java.io.*;public class yf public static void main(String args) throws IOException byte buf=new
13、byte20;String str;int m;System.in.read(buf);str=new String(buf);m=Integer.parseInt(str.trim();while(m!=0) switch(m) case 1: System.out.println(January);break; case 2: System.out.println(February);break; case 3: System.out.println(March);break; case 4: System.out.println(April);break; case 5: System.
14、out.println(May);break; case 6: System.out.println(June);break; case 7: System.out.println(July);break; case 8: System.out.println(August);break; case 9: System.out.println(September);break; case 10:System.out.println( October);break; case 11: System.out.println(November);break; case 12: System.out.
15、println(December);break; default:System.out.println( 月份错);break; System.in.read(buf);str=new String(buf);m=Integer.parseInt(str.trim(); 3打印图案:一个由n行星花组成的三角形。如n=5时的图案为:实验代码:import java.util.*;public class xinghua public static void main(String args) int i,j,n; Scanner in=new Scanner(System.in); n=in.n
16、extInt(); for(i=1;in;i+) for(j=1;j=n+4-i;j+)System.out.print( ); for(j=1;j=i;j+)System.out.print(* ); System.out.println(); 4打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如153是一个“水仙花数”,因为153=13+53+33。实验代码:public class sxhs public static void main(String args) int n,a,b,c; for(n=100;n0) if(n%4=0) if(
17、n%100!=0)|(n%400=0) System.out.print(闰年); else System.out.print(非闰年); else System.out.print(非闰年); System.out.println(); n=in.nextInt(); 6统计个位数是6,并且能被3整除的五位数共有多少个。实验代码:public class 被三整除 public static void main(String args) int i,j=0;for(i=10006;i=99996;i=i+10) if(i%3=0) j=j+1;System.out.print(j);7编写一
18、个程序,在其中建立一个有10个整数的数组,运行后从键盘输入10个数,然后输出其中的最小数。实验代码:import java.util.Scanner;public class zuixiao public static void main(String args) Scanner in=new Scanner(System.in); int a=new int10; int i,n; for(i=0;i10;i+) ai=in.nextInt(); n=a0; for(i=1;i10;i+) if(ain) n=ai; System.out.print(n);11编写一个程序,在其中定义一个6
19、6的二维整型数组, 利用随机函数产生36个1020之间的随机整数放入,然后将数组输出到屏幕上(6行6列格式)。最后计算出数组中对角线元素的平方根和。实验代码:public class 二维数组 public static void main(String args) int i,j,a=new int66; double s=0; for(i=0;i6;i+) for(j=0;j6;j+) aij=(int)(Math.random()*10+10); for(i=0;i6;i+) for(j=0;j6;j+)System.out.print(aij+ ); System.out.printl
20、n(); s=s+Math.sqrt(aii); System.out.println(s);三、实验体会: 经过这次实验课,我对JAVA程序的编写更加熟悉,了解到了JAVA中的一些数学函数工具。懂得了如何利用数组向JAVA中输入数据,对循环结构和分支结构也更加熟悉。更重要的是总结了编写java程序的思路。实验三 面向对象程序设计一、实验目的和要求掌握类、对象、方法、继承、接口的编程技术;二、实验内容 1编一程序,求两个正整数m、n的最大公约数。 要求程序中有两个方法,分别使用循环和递归求最大公约数,最后在主方法中分别调用这两个方法求解56与91的最大公约数。 提示:用辗转相除法。方法:(1)
21、 求m除n的余数r; (2) 如果r为0,则n为最大公约数,结束。否则转(3); (3) 用n置m,用r置n ,回到(1)。 实验代码:public class 实验三一公约数 public static void main(String args) int m=96,n=51;System.out.print(s1(m,n);System.out.println();System.out.print(s2(m,n); public static int s1(int m,int n) int r=1; while(r!=0) r=m%n; m=n; n=r; return m; public
22、 static int s2(int m,int n) if(m%n=0) return n; else return s2(n,m%n); 2编写一个完整的Java Application程序,其中设计一个复数类Complex,利用它验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。复数类Complex的设计必须满足如下要求:1)Complex 的属性有:realPart:int型,代表复数的实数部分;maginPart:int型,代表复数的虚数部分。2)Complex 的方法有:Complex():构造方法,将复数的实部和虚部都置0;Complex(int r , in
23、t i ):构造方法,形参 r 为实部的初值,i为虚部的初值。3)Complex complexAdd(Complex a):将当前复数对象与形参复数对象相加,最后的结果仍是一个复数对象,返回给此方法的调用者。4)String toString(): 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。实验代码:public class Complex private double RealPart; private double ImaginPart; public Complex()this.ImaginPart=0;this.RealPart=
24、0; public Complex( double r , double i )this.ImaginPart=i;this.RealPart=r; public double getReal()return this.RealPart; public double getImagin ()return this.ImaginPart; public Complex complexAdd(Complex a)this.RealPart=this.RealPart+a.RealPart;this.ImaginPart=this.ImaginPart+a.ImaginPart;return thi
25、s; public String toString( ) String str=null; str=Double.toString(this.getReal()+Double.toString(this.getImagin()+i;return str;public static void main(String args) Complex a=new Complex(1.0,2.0),b=new Complex(4.0,6.0);plexAdd(b);System.out.print(a);3编写一个包含圆类的程序,并为圆类设计几个构造方法和一般方法,在主方法中创建一个圆类对象并输
26、出它的周长和面积。要求: 属性有3个:x,y,r,分别放置圆心坐标和半径; 构造方法有2个。一个是无参的,用于设置3个属性的值都为0;另一个有参的,用于设置3个属性的值,以确定一个具体的圆。 计算周长的方法:double zc();计算面积的方法:double mj()。实验代码:public class 实验三3 public static class Circle private int x; private int y; private int r; public Circle(int x1,int y1,int r1) x=x1;y=y1;r=r1; double zc()return
27、 2*3.1416*r; double mj()return 3.1416*r*r; public static void main(String args) Circle c=new Circle(1,1,2); System.out.print(圆面积为+c.mj()+ 周长为+c.zc(); 4编写一个程序,它含有一个圆类、圆柱类和主类。要求: 1)圆类参考上一题中的圆类; 2)圆柱类:继承圆类,并加入一个属性h(高); 构造方法(给4个属性赋值); 计算面积的方法(double mj(); 计算体积的方法(double tj()。 注意,要充分利用父类的方法。3)主类:在主方法中创建圆
28、和圆柱类的对象,然后计算并输出它们的面积及圆柱的体积。实验代码:public class 实验三第四 public static class Circle private int x; private int y; private int r; public Circle(int x1,int y1,int r1) x=x1;y=y1;r=r1; double zc()return 2*3.1416*r; double mj()return 3.1416*r*r; public static class Cylinder extends Circle int h; Cylinder(int x
29、1,int y1,int r1,int h1) super(x1,y1,r1);h=h1; double mj()return super.mj()*2+super.zc()*h; double tj()return super.mj()*h; public static void main(String args) Circle c=new Circle(1,1,2); System.out.print(圆面积为+c.mj()+ 周长为+c.zc(); System.out.println(); Cylinder a=new Cylinder(2,2,3,4); System.out.pri
30、nt(圆柱表面积为+a.mj()+ 体积为+a.tj(); 5编写一个含有5个类的程序: 类Person: 属性:编号、姓名、性别; 构造方法:确定编号和姓名; 一般方法:修改编号、姓名,获取编号、姓名。 类Teacher:继承类Person并增加: 属性:系别; 构造方法:调用父类的构造方法; 一般方法:修改、获取系别。 类Student:继承类Person并增加: 属性:班级; 构造方法:调用父类的构造方法; 一般方法:修改、获取班级属性值。 类Classes: 属性:班级名称,学生名单(Student类对象的数组); 构造方法:确定班级名称; 一般方法:建立学生名单,输出学生名单。 类M
31、ain:主类。主方法中创建一个班级,然后建立该班级的学生名单,最后 输出学生名单。 实验代码:import java.io.*;public class 实验三五 public static void main(String args)throws IOException Classes C1=new Classes(C1); C1.jlmd();C1.scmd(); class Person int bh;String xm; char xb; Person(int bh1,String xm1) bh=bh1;xm=xm1; void setBh(int bh1)bh=bh1; int g
32、etBh()return bh;class Teacher extends Person String xb; Teacher(int bh1,String xm1)super(bh1,xm1); void setXb(String xb1)xb=xb1; String getXb()return xb;class Student extends Person String bj; Student(int bh1,String xm1)super(bh1,xm1); void setBj(String bj1)bj=bj1; String getBj()return bj; class Cla
33、sses String bjmc;int n=0; Student xsmd=new Student10; Classes(String bjmc1)bjmc=bjmc1; void jlmd()throws IOException byte buf1=new byte20,buf2=new byte20; String str;int i; System.out.println(建立名单n输入学生人数:); System.in.read(buf1); n=Integer.parseInt(new String(buf1).trim(); for(i=0;in;i+) System.out.p
34、rint(请输入第+(i+1)+个学生的学号和姓名); System.in.read(buf1);System.in.read(buf2); xsmdi=new Student(Integer.parseInt(new String(buf1).trim(),new String(buf2); void scmd() System.out.println(班级名称:+bjmc); System.out.println(学号 姓名); int i; for(i=0;in;i+) System.out.println( +xsmdi.bh+ +xsmdi.xm); 6请仔细阅读下面的程序,分析程序
35、的结构和输出结果。再将程序上机运行,验证输出结果。(重点理解:抽象类、抽象方法、(匿名)内部类、匿名对象)abstract class Aabstract String getS();class Test public static void main(String args) System.out.println(new A() String getS() return 抽象?匿名?;.getS();7请仔细阅读下面的程序,分析程序的结构和输出结果。再将程序上机运行,验证输出结果。(重点理解:接口、接口实现方法、(匿名)内部类、匿名对象)interface I String getS();
36、class Test public static void main(String args) System.out.println(new I() public String getS() return 接口和内部类!;.getS(); 三、实验体会: 通过本次实验,我对类的定义,继承,重载,过载,有了新的理解。学会了调用类的方法。而且开始理解课堂上所学的匿名类,内部类和抽象类。知道了抽象类中可以有方法但不能有方法实体。知道了接口应如何定义。收获很大。实验四 语言基础与面向对象一、实验目的掌握Java语言基础与面向对象的综合编程技术与方法,更全面深入地理解面向对象程序设计技术内涵。二、实验内
37、容 1请先阅读下面的程序,确定它的输出结果。再将程序上机运行,验证自己分析的输出结果是否正确。class Yuan int r; String name; static int z= 5; Yuan(int r) this.r=r; int a() return z*r*r; int p() return 5*z*r; void value () name=china; class testOverride extends Yuan int h; String name;testOverride(int r,int h1) super(r); h=h1; int a() value(); re
38、turn 2*super.a()+p()*h; void value() super.value();name=America;System.out.println(++);System.out.println(); public static void main(String args) Yuan y= new Yuan(4);Yuan yz= new testOverride(5,2); System.out.println(y.a(); System.out.println(yz.p(); System.out.println(yz.a(); 2请先
39、阅读下面的程序,确定它的输出结果。再将程序上机运行,验证自己分析的输出结果是否正确。public class TestTransOfValue public static void main(String args) double val;StringBuffer sb1, sb2;String sb3;char s=a,p,p,l,e;val = 5.8;sb1 = new StringBuffer(apples);sb2=new StringBuffer(pears);sb3 = new String(pear);modify(val, sb1, sb2,sb3,s);System.out
40、.println(val);System.out.println(sb1);System.out.println(sb2);System.out.println(sb3);System.out.println(s);public static void modify(double a, StringBuffer r1, StringBuffer r2,String r3,char s ) a = 6.8; r1.append( taste good); r2=null; r3=banana; s2=R; 3编写一个程序,其中设计一个矩阵类Matrix,最后计算:要求Matrix类满足:1)Ma
41、trix的属性有:m,n:int型,矩阵的行、列数;ma:int型两维数组,放置矩阵的数据。2)Matrix的方法有:Matrix (int m , int n ):构造方法,设置矩阵的行数和列数;cheng(Matrix a):将当前矩阵与形参矩阵相乘,最后返回乘的结果(Matrix对象); void print():输出矩阵。package 第四章;import java.util.Scanner;class Matrixpublic intma()int m,n,i,j;System.out.print(请输入矩阵的行数和列数:);Scanner sc=new Scanner(Syste
42、m.in);m=sc.nextInt();n=sc.nextInt();intx=new intmn;for(i=0;im;i+)for(j=0;jn;j+)System.out.print(请输入元素+i+j+的值:);xij=sc.nextInt();return x; public intcheng(intx,inty) intresult=null; int a=x0.length; int e=x.length; int b=y.length; if(a!=b) System.out.println(维数不匹配,不能进行运算); else int c=x.length ; int d
43、=y0.length ; result=new intcd; for(int i=0;ic;i+) for(int j=0;jd;j+) int sum=0 ; int i,j,k; for(k=0;ka;k+) for(i=0;ie;i+) for(j=0;jb;j+) sum+=xik*ykj; resultij=sum; return result; return result; public void print(intz) for(int i=0;iz.length;i+) for(int j=0;jzi.length;j+) if (zij=9) System.out.print(
44、 +zij+ ); elseSystem.out.print(zij+ ); System.out.println(); public class Test43 public static void main(String args) Matrix t=new Matrix() ; System.out.println(第一个数组:) ; intx=t.ma(); System.out.println(矩阵1:); t.print(x); System.out.println(第二个数组:); inty=t.ma(); System.out.println(矩阵2:); t.print(y); intresult=t.cheng(x,y); if(result=null) return; System.out.println(两矩阵相乘后的矩阵:); t.print(result) ; 4请仔细阅读下面的程序,分析程序的结构和输出结果。再将程序上机运行,验证输出结果。(注意重点理解:内部类、对象内部类、静态内部类)public class Outer public Outer()System.out.prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新员工入职安全培训考试试题带答案可下载
- 2024-2025企业安全培训考试试题含完整答案(历年真题)
- 兰考县中考试卷及答案
- 客户关系管理期末试卷A及答案
- 科学分班考试试卷及答案
- 2025年高考历史考点复习之国家制度与社会治理
- 沿海滩涂贝类养殖生态影响评估-全面剖析
- 特殊幼儿运动能力提升计划
- 智能制造系统中的隐私保护-全面剖析
- 多模态数据融合在承光领域的应用-全面剖析
- 国家义务教育质量监测初中美术试题
- 普通心理学第六版PPT完整全套教学课件
- 北师大版八年级数学下册 (图形的平移)图形的平移与旋转新课件
- 危险化学品运输安全讲解
- 第二幼儿园-精准资助工作流程
- 一例糖尿病酮症酸中毒个案护理
- 《三气周瑜》儿童故事绘本ppt课件(图文演讲)
- GB/T 38472-2023再生铸造铝合金原料
- 初中美术-《手工书设计》教学课件设计
- 《城市轨道交通客服英语》课程标准
- 如何进行六年级数学总复习的讲座
评论
0/150
提交评论