《2023年合工大Java实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年合工大Java实验报告.pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、备 航 上 学 大 考 实 验 报 生 口 课 程 名 称:_ Jav a 技 术 _学 生 姓 名:_学 号:_专 业 班 级:_指 导 教 师:_年 月 日实 验 一。Ja v a 开 发 环 境 的 安 装 与 配 置 一、实 验 目 的 学 院 信 息 工 程 系 专 业 班 级 姓 名 学 号 成 绩 课 程 名 称 Ja va技 术 实 验 项 目 名 称 实 验 一 Ja v a 开 发 环 境 的 安 装 与 配 置 指 导 教 师 教 师 评 语 年 月 日 教 师 署 名:1.掌 握 J D K 的 安 装 环 节。2.理 解 环 境 变 量 PA TH,C LASSPAT
2、H的 作 用,以 及 它 们 的 设 立 方 法(WinX P、W IN 7,W IN 8、WIN10,L i n u x 下 的 不 同 设 立 方 法)。3.熟 悉 T e xtPa d(J C r e a to r或 Eclip s e)编 辑 环 境,编 写 简 朴 的 Applica tio n程 序,并 编 译 和 解 释 执 行。4.记 录 编 译 和 执 行 J a v a 程 序 当 中 的 系 统 错 误 信 息 提 醒,并 给 出 解 决 办 法。二、实 验 原 理 1.源 程 序 编 译:使 用 E c 1 ip se或 者 N o t e p ad+2.程 序 编 译
3、:使 用 J D K 中 的 ja v a c工 具 3.程 序 运 营:使 用 j a v a 工 具 或 者 使 用 Eclips e 直 接 运 营 4.掌 握 安 装 J D K以 及 环 境 变 量 的 设 立 5.在 N o tep a d+环 境 下 编 写 一 个 Hei 1 oWorl d.jav a程 序,在 D O S提 醒 符 下 编 译 并 执 行 这 个 程 序 6.编 写 一 个 类 A,它 位 于 包 a 中,保 存 到 A.j a v a 中,再 编 写 一 个 类 B,它 位 于 包 b 中,保 存 到 B.j a v a 中。在 类 B 中 实 例 化 类
4、 A 的 一 个 对 象。分 别 编 译 类 A 和 类 B。三、使 用 硬 件、软 件 环 境 硬 件 环 境:i5-72 0 0U+8G内 存+2 5 6 G硬 盘 软 件 环 境:Windows 10操 作 系 统开 发 工 具:Eclipse四、实 验 过 程、环 节 及 原 始 记 录(算 法、原 程 序、测 试 结 果,分 析 等)1.从 h ttp:w w w.o e c hn e twork/ja v a 下 载 最 新 版 本 的 J D K,并 安 装。(或 者 用 已 有 文 献 安 装)安 装 过 程:安 装 J d k 集 成 环 境,安 装 成 功 后,配 置 pa
5、th,c la s s p a th途 径,让 用 户 在 任 何 目 录 下 均 可 用 到 Ja v a的 系 统 资 源 先 配 置 JA VA_HOME%环 境 变 量,途 径 为 jd k的 目 录;配 置 pa t h 环 境 变 量,途 径 为 JA VA_HOME%bin;再 配 置 c la s spa t h环 境 变 量 途 径 为;JAVA_HOME%1 ib;%J AV A_ H O ME%1 i b tools.jar2.设 立 环 境 变 量 PATH,CLA S S PA T H,使 得 Jav a程 序 能 对 的 编 译 和 执 行。变 量 值 CLASSP
6、ATH.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jarComSpec C:WINDOWSsystem32cmd.execonfigsetroot C:WINDOWSConfigSetRootJAVA HOME C:Program AlesJavajdk-10.0.1NUMBER_OF_PROCESSORS 4OS Windows_NTPath%JAVA_HOME%bin;%JAVA_HOME%jrebin;C:Program File3.在 Text p ad(J Crea t or 或 Eclip s e)环 境 下 编 写 一 个 Hei 1 o World
7、.ja v a程 序,在 D O S提 醒 符 下 编 译 并 执 行 这 个 程 序。实 验 过 程:在 Not e p a d+中 写 出 如 下 代 码,并 保 存 为 Hei 1 oW o rld.jav a:源 代 码:p u bli c cl a ss H e 1 1 oWo r 1 d p u b lie sta t ic void main(St r ing args)S y s tem.out.p r i ntln(Hei 1 o Wor 1 d!);在 命 令 行 中 进 入 到 该 文 献 途 径,并 输 入 java c HelloW orld.java完 毕 编 译,
8、再 输 入 j a va H e 1 1 oWor 1 d 完 毕 运 营 运 营 结 果:):javaHel1oWor1dsrcHel1oWor1djavac HelleWorld,java):javaHel1oWorldsrcHel1oWorldjava Hei1oWorldlello World!):javaHel1otforldsrcHel1oVorld4.编 写 一 个 类 A,它 位 于 包 a 中,保 存 到 A.ja v a中,再 编 写 一 个 类 B,它 位 于 包 b 中,保 存 到 B.j a v a中。在 类 B 中 实 例 化 类 A 的 一 个 对 象。分 别 编
9、 译 类 A 和 类 B。实 验 过 程:用 E c lip s e编 写 包 a 包 b 的 程 序,并 用 D O S命 令 行 运 营。源 代 码:A:p a ckage a;publi c c 1 a s s A o p ubl i c v o i d OUT()e S y stem.o u t.pri ntln(t h i s is a!);)B:packag e b;i mpo r t a.*;p u b 1 i c cla s s B o p ubl i c s t atic voi d m a in(Str i n g a r gs)oA a=new A();a.OUT();运
10、 营 结 果:D:javaexpsrcjavac aA.javaD:javaexpsrcjavac bB.javaD:javaexpsrcjava b.Bthis is a!D:javaexpsrc五、实 验 结 论、分 析、思 考 题 与 心 得 体 会 心 得 体 会 通 过 本 次 实 验,我 对 于 J a v a的 一 些 基 本 知 识 有 所 了 解,下 面 我 将 进 行 总 结:1.我 学 习 了 如 何 安 装 J D K,以 及 配 置 J A V A 环 境 2.我 学 习 了 使 用 Note p a d+记 事 本 环 境 下 编 写 J a v a程 序,并 使
11、用 命 令 行 来 编 译 执 行 程 序 3.我 学 会 了 在 E el i pse环 境 下 编 写 与 运 营 J a v a程 序。4.我 对 于 Ja v a的 一 些 基 本 语 法 与 使 用 有 所 了 解,涉 及:文 献 名 必 须 与 pu b I i c 类 的 类 名 相 同,一 个 Ja v a 应 用 程 序 最 多 只 允 许 有 一 个 p u bl i c 类,并 且 有 且 只 允 许 有 一 个 主 类,J a v a 对 于 大 小 写 敏 感,同 时 支 持 中 文 标 记 符 开 发 一 个 J a v a程 序 需 要 通 过 三 个 环 节:编
12、 写 源 程 序、编 译 源 文 献 生 成 字 节 码、加 载 运 营 字 节 码 在 用 D O S命 令 运 营 包 中 的 Ja v a文 献 时,要 先 编 译 A.Ja v a,再 编 译 B.Java,同 时 注 意 运 营 有 包 名 的 主 类 时,要 使 用 包 名.主 类 名,即 j a v a b.B思 考 题 1.什 么 是 JV M,它 的 作 用 是 什 么?JV M是 J a v a虚 拟 机。它 是 一 个 虚 构 出 来 的 计 算 机。可 在 实 际 的 计 算 机 上 模 拟 各 种 计 算 机 功 能。作 用:将.cla s s 字 节 码 文 献 编
13、 译 成 机 器 语 言,以 便 机 器 辨 认。2.如 何 理 解 P A TH和 C LASSPATH,如 何 设 立 它 们。p a t h 是 系 统 用 来 指 定 可 执 行 文 献 的 完 整 途 径 j a v a的 各 种 操 作 命 令 是 在 其 安 装 途 径 中 的 b i n 目 录 下,所 以 在 p a th中 设 立 了 JDK的 安 装 目 录 后 就 不 用 再 把 java文 献 的 完 整 途 径 写 出 来 了,它 会 自 动 去 p a t h 中 设 立 的 途 径 中 去 找;classpath是 指 定 你 在 程 序 中 所 使 用 的 类
14、(.cl a ss)文 献 所 在 的 位 置 在 引 入 一 个 类 时:i mpo r t j avax.s w ing.JT a b le这 句 话 是 告 诉 编 译 器 要 引 入 java x.sw i n g这 个 包 下 的 J T a b l e类,而 c la s s p a t h 就 是 告 诉 编 译 器 该 到 哪 里 去 找 到 这 个 类 假 设 J DK 安 装 途 径:AE:Pr o g r am F iles J ava j dk变 量 名:PATH变 量 值:E:P r ogr a m FilesJ a va jdk bi n变 量 名:CLASSPAT
15、HA变 量 值:E:Program FilesJavaj dkl 1 ibtools.jar;E:P r og r am Files J avajdklj r e libdt.j a r*实 验 二,类 的 封 装、继 承、多 态 教 师 评 教 师 学 院 信 息 工 程 系 专 业 班 级 姓 名 学 号 成 绩 课 程 名 称 Ja va技 术 实 验 项 目 名 称 实 验 二 类 的 封 装、继 承、多 态 指 导 教 师 语 署 名:年 月 日 一、实 验 目 的 1.复 习、理 解 OO P的 三 大 特 性 一 一 封 装、继 承 和 多 态。2.学 会 使 用 Java编 写
16、 简 朴 的 类。理 解 类 的 属 性 和 方 法。3.掌 握 关 键 字 p r i v ate,prote c ted,p u bli c 的 作 用,掌 握 静 态 类,内 部 类 的 概 念。4.掌 握 多 态 的 概 念。二、实 验 原 理 1.分 别 编 写 两 个 类 P oint2D,Poi n t3 D 来 表 达 二 维 空 间 和 三 维 空 间 的 点,使 之 满 足 下 列 规 定:(1)Point2D有 两 个 整 型 成 员 变 量 x,y(分 别 为 二 维 空 间 的 X,Y方 向 坐 标),Point 2 D 的 构 造 方 法 要 实 现 对 其 成 员
17、 变 量 x,y 的 初 始 化。P oint2D有 一 个 void型 成 员 方 法 off s et(in t a,i n t b),它 可 以 实 现 Point2D的 平 移。(3)Point3D是 Point2D的 直 接 子 类,它 有 有 三 个 整 型 成 员 变 量 x,y,z(分 别 为 三 维 空 间 的 X,Y,Z方 向 坐 标),Po i n t3 D有 两 个 构 造 方 法:Poin t 3D(in tx,i n t y,i n t z)和 P oin t 3D(P o int2 D p,i n t z),两 者 均 可 实 现 对 Po i nt3 D的 成
18、员 变 量 x,y,z 的 初 始 化。(4)Point3D有 一 个 v o id型 成 员 方 法 o f fset(int a,int b,int c),该 方 法 可 以 实 现 P oint3D的 平 移。(5)在 P oi n t 3 D 中 的 主 函 数 m a in()中 实 例 化 两 个 P oint2D的 对 象 p2d1,p2 d 2,打 印 出 它 们 之 间 的 距 离,再 实 例 化 两 个 P oint 3 D 的 对 象 p3 d l,p3d2,打 印 出 他 们 之 间 的 距 离。2 创 建 一 个 数 组,随 机 生 成 Point 2 D或 者 Po
19、int3D的 对 象 放 于 其 中。最 后 依 次 调 用 数 组 中 每 个 对 象 的“打 印 方 法”,显 示 数 组 中 存 储 的 对 象 是 什 么。提 醒:j a v a.1 an g.M a t h.r andom()方 法 或 者 j a va.u t i 1.R a ndom类三、使 用 硬 件、软 件 环 境 硬 件 环 境:i5-720 0 U+8G内 存+256G硬 盘 软 件 环 境:Wind o ws 1 0 操 作 系 统 开 发 工 具:Ec 1 ipse四、实 验 过 程、环 节 及 原 始 记 录(算 法、原 程 序、测 试 结 果,分 析 等)1.分
20、别 编 写 两 个 类 Point2D,Po i nt3D来 表 达 二 维 空 间 和 三 维 空 间 的 点:(1)P。i nt2D有 两 个 整 型 成 员 变 量 x,y(分 别 为 二 维 空 间 的 X,Y方 向 坐 标),Point 2 D的 构 造 方 法 要 实 现 对 其 成 员 变 量 x,y 的 初 始 化。(2)Po i nt2D有 一 个 void 型 成 员 方 法 o f fset(i nt a,i nt b),它 可 以 实 现 Point2D的 平 移。(3)Poin t 3 D 是 Point2D的 直 接 子 类,它 有 有 三 个 整 型 成 员 变
21、量 x,y,z(分 别 为 三 维 空 间 的 X,Y,Z方 向 坐 标),Po i n t3 D有 两 个 构 造 方 法:Poi nt3 D(int x,i n t y,i n t z)和 P o int3D(P o int 2 D p,in t z),两 者 均 可 实 现 对 P o int3D的 成 员 变 量 x,y,z的 初 始 化。(4)P o in t3 D 有 一 个 v o id 型 成 员 方 法 offse t(int a,int b,i nt c),该 方 法 可 以 实 现 P o i n t 3 D的 平 移。(5)在 Poi n t 3 D中 的 主 函 数
22、m a in()中 实 例 化 两 个 Po i nt2D的 对 象 p2dLp2d2,打 印 出 它 们 之 间 的 距 离,再 实 例 化 两 个 Po i n t3 D的 对 象 p3dLp3d2,打 印 出 他 们 之 间 的 距 离。运 用 类 的 继 承 写 一 个 P o int2D类,其 子 类 是 p o i n t 3 D。子 类 Poin t 3 D 的 构 造 函 数 调 用 了 父 类 的 构 造 函 数;计 算 平 面 两 点 的 距 离 函 数 和 计 算 空 间 两 点 的 距 离 函 数 写 在 父 类 P o in t2 D中,并 且 他 们 是 静 态 方
23、 法,在 子 类 继 承 后,在 其 主 方 法(主 方 法 是 静 态 的)中 可 以 直 接 调 用(或 者 通 过 类 名 调 用);此 外 平 移 函 数 可 以 对 点 进 行 平 移 源 代 码:im p o r t ja v a.u t i 1.*;im p o r t ja v a.la n g.M ath;cla s s Point2Doin t Xj Y;o p u b 1 ic P o i n t 2D()无 形 参 的 构 造 方 法,一 定 要 有)o pu b l i e P o in t2 D(i n t x,in t y)0。th is.X=x;t h i s.
24、Y=y;O p u b lic v o id o f f s e t(i n t a,in t b)/2 D 平 移 方 法(o t h i s.X+=a;o t h is.Y+=b;卜 o pu b l i c vo i d p r i n t i n f o()S yste m.o u t.p r i n t 1 n(X=+t h i s.X+n Y=+t h i s.Y);。p ub l i c v o i d d is ta n ce(P o i n t 2D p)(o d o u b le D T=1;o DT*=(t h i s.X-p.X)*(t h i s.X p.X)+(th
25、 is.Y-p.Y)*(th is.Yp.Y);。Syst e m.out.p r in t 1 n(2D 距 离:+M a th.s q rt(D T);c 1 ass P o int3D e x tends Poi n t 2 D(o i n t Z;。p ub 1 i c Poi n t 3 D()。/无 形 参 的 构 造 方 法,一 定 要 有)o p ub 1 ic P o in t3 D(in t x,in t y,in t z)(。th is.X=x;o t h i s.Y=y;t h i s.Z=z;。P o in t3 D(P o i n t 2 D p,in t z)th
26、 is.X=p.X;t h is.Y=p.Y;t h i s.Z=z;o pub 1 ic v o i d o f fs e t(i n t a,in t b,in t c)/3 D 平 移 方 法。t h is.X+=a;t h i s.Y+=b;。t h i s.Z+=c;)pub 1 i c v o i d p r i n t I n f o()o Syst e m.o u t.pr i n t 1 n(X=+th is.X+n Y=+th is.Y+n Z=+th i s.Z);)pu b 1 i c vo id d is ta n c e(Point3D p)do u b 1 e D
27、T=1;D T*=(t h i s.X-p.X)*(th i s.X-p,X)+(th is.Y-p.Y)*(t h is.Y-p.Y)+(t h is.Z-p.Z)*(t h i s.Z-p.Z);oo Sys t e m.o u t.p r in t 1 n(3 D 星 巨 离:+M a th.s q r t(D T);)p u b lic c l a s s Alex(p u b lic s t a tic vo id m a in(S tri n g a r g s)Sy s tem.o u t.p r i n t(*录 入 信 息*n);S ca n ner c in=n ew S
28、canner(System,/n);in t x=new in t 2;o i n t y=new i n t 2;oo in t z=new i n t 2;。f o r(in t i=l;i 3;i+)Sy s t e m.o u t.p r in t(录 入 第+i+个 2D 平 面 坐 标 n输 入 横 坐 标 X:);_。x i-l=c i n.n e x tln t();。Syst e m.ou p r i n t(输 入 纵 坐 标 Y:);。y i-l=c i n.nex t I n t();0 0 o Po i n t 2 D _2D p l=new Po i nt2D(x
29、0,y 0);o Poin t 2D _2D p 2=n ew P o in t 2 D(x l,y 1);oo _ 2 D p l.p r in tl n f o();o_2Dp2.p r in tin f o();s S y s t e m.o u t.pr i n t ln(现 在 将 2 D平 面 图,3 D化,请 给 出 竖 坐 标 Z的 值”);。fo r(in t i=1;i 3;i+)。S y s t em.o u t.p r i n t(录 入 第+i+个 3D 平 面 坐 标 n输 入 竖 坐 标 Z:);。z i-1=c in.ne x t in t();Po i n t
30、 3 D _3D p 1=new P o in t 3 D(_ 2 D p lJz 0);P o i n t 3 D _3 D p2=n ew Poi n t 3 D(_2D p 2,z l);_3D p 1.p r i n t I n f o();_ 3Dp 2.p r in t In f o();S y s te m.ou t.p r in t I n(平 移 2 D 图 形:);f o r(in t i=l;i 3;i+)。Sy s t em.o u t.p r i n t(录 入 第+i+个 2 D 图 形 的 平 移 量 n 输 入 横 坐 标 X的 平 移 量:);o x i-l=
31、c in.n e x t I n t();。S y s t e m.out.p r in t(输 入 纵 坐 标 Y的 平 移 量:);oy i-1=c in.n e x tin t();)_ 2 Dp 1.o ffs e t(x 0,y 0);_2Dp 2.o ffs e t(x l y l);。2Dp 1.p r i n t ln f o();_ 2Dp2.p r i n t l n f o();for(in t i=l;i 3;i+)。S y s te m.ou p r i n t(录 入 第+i+个 3 D 图 形 的 平 移 量 n输 入 竖 坐 标 Z的 平 移 量:);0 z i
32、-l=c in.n e x t ln t();ooo _ 3 D p l.o f fs e t(x 0 y 0 z 0);o_ 3 D p 2.o f f s e t(x l z l);_3D p l.p r in t I n f o();。_3Dp2.p r in t ln f o();_2Dpl.d i s t a n e e(_2Dp2);o _ 3 D p l.d i stanc e(_3Dp2);。运 营 结 果:*录 入 信 亭*录 入 第 1 个 2 D 平 面 坐 标 输 入 横 坐 标 X:1输 入 纵 坐 标 Y:1录 入 第 2 个 2 D 平 面 坐 标 输 入 横 坐
33、 标 X:1输 入 纵 坐 标 Y:2X=1Y=1X=1Y=2现 在 将 2 D 平 面 图,3 D 化,清 给 出 竖 坐 标 Z的 值 录 入 第 1 个 3 D 平 面 坐 标 输 入 竖 坐 标 Z:3录 入 第 2 个 3 D 平 面 坐 标 输 入 盟 坐 标 Z:3X=1Y=1Z=3X=1Y=2Z=3平 移 2 D 图 形:录 入 第 1 个 2 D 图 形 的 平 移 里 输 入 横 坐 标 平 移 里:2输 入 纵 坐 标 丫 的 平 移 里:4录 久 第 2 个 2 D 图 形 的 平 移 里 输 入 横 坐 标 油 平 移 里:2输 入 纵 坐 标 Y的 平 移 里:1X
34、=3Y=5X=3Y=3录 入 第 1 个 3 D 图 形 的 平 移 里 输 入 竖 坐 标 加 平 移 里:4录 入 第 2 个 3 D 图 形 的 平 移 里 输 入 竖 坐 标 Z的 平 移 里:1k=3Y=5Z=7X=3Y=3Z=42 D 距 离:2.03D 距 离:3.6055512754639892.创 建 一 个 数 组,随 机 生 成 Point2D或 者 Point 3 D 的 对 象 放 于 其 中。最 后 依 次 调 用 数 组 中 每 个 对 象 的“打 印 方 法”,显 示 数 组 中 存 储 的 对 象 是 什 么。思 想:使 用 Ma t h.rand o m()
35、生 成 数 组 个 数,点 的 个 数 1 5 个,接 着 依 次 给 P o int 2 D数 组 P 随 机 输 入 一 个 1-5 0 的 整 数,接 着 每 次 调 用,调 用 P oint2D中 方 法 p r in tln fo Q,输 出 点,除 了 第 一 次 每 次 调 用 P i.di s t a nc e(Pi-1),输 出 当 前 点 与 上 一 个 点 的 距 离。P o in t3 D 数 组 同 上 操 作 源 代 码:除 了 主 类 外,其 它 同 1中 的 代 码,下 面 给 出 主 类 public clas s P ointp ub 1 ic s t a
36、t i c v o id main(S t r in g f a r g s)。Po i n t 2 D P=new Point2D(i n t)(M a t h.ra n/om()*5)+1 J/随 机 生 成 数 组 个 数 S y s t em.out.p r in t ln(输 出 2D数 组,并 输 出 与 上 一 点 的 距 离:);o o fo r(i n t i=0;i P.le n g th;i+)(。in t x=l+(in t)(Mat h.random()*5 0);。i nt y=l+(in t)(M ath.ra ndom()*5 0);。System.o u t.
37、p r i n t i n(第+(i+1)+”个 点:);。P i=n e w P o in t2 D(x,y);。P i.p r in t I n f o();。i f(i!=0)0 0。Sys t em.ou t.p r i n t l n(与 上 一 点 的 距 离 为:);。P i.d i s t a n c e(P i-1);。)b b S ystem,ou t.p r in t ln();System.o u t.p r i n t 1 n(输 出 3 D数 组,并 输 出 与 上 一 点 的 距 离:);o P o i n t3D P l=n e w Po i n t 3 D(i
38、n t)(Math,ran d 0171()*5)+1;/随 机 生 成 数 组 个 数 o f o r(i nt i=0;i P l.leng t h;i+)(i n t x=1+(i n t)(Math.random()*5 0);i n t y=1+(in t)(M a t h.ra n dom()*5 0);。i n t z=l+(i n t)(M a th.r and o/n()*5 0);。P l L i=new P 0 in t 3 D(x,y,z);S y s te m.o u t.p r i n t l n(M+(i+1)+”个 点:);o P 1 i.p r i n t l
39、n f o();。皿 i f(i!=0)。System,o u t.p r in t ln(与 上 一 点 的 距 离 为:);ooo P l i.d is ta n c e(P l E i-1);0 0 0)输 出 2度 i组,并 输 出 与 上 一 点 的 距 离:第 1个 点:X=27Y=32第 2个 点:X=27Y=26与 上 一 点 的 距 离 为:2 D 距 离:6.0第 3个 点:X=26Y=45与 上 一 点 的 距 离 为:2D 距 离:19.026297590440446第 4个 点:X=44Y=10与 上 一 点 的 距 离 为:2D 距 离:39.35733730830
40、886第 5个 点:X=26Y=29与 上 一 点 的 距 离 为:2D 距 离:26.1725046566048输 出 3脸 组,并 输 出 与 上 一 点 的 距 离:第 1个 点:X=46Y=6Z=13第 2个 点:X=39Y=30Z=25与 上 一 点 的 距 离 为:3D 距 离:27.730849247724095五、实 验 结 论、分 析、思 考 题 与 心 得 体 会 心 得 体 会 通 过 本 次 实 验,我 对 于 Java如 何 实 现 类 的 继 承、封 装、多 态 有 了 初 步 的 了 解,并 且 学 会 了 如 何 使 用 Java语 言 编 写 简 朴 的 类,
41、理 解 了 类 的 属 性 和 方 法,同 时 掌 握 关 键 字 P ri v ate,pr o te c ted,publi c 的 作 用,以 及 静 态 类,内 部 类、多 态 的 概 念 在 实 验 过 程 中,也 有 了 一 些 心 得 体 会:子 类 继 承 父 类 的 非 私 有 成 员,但 不 能 继 承 构 造 方 法,必 须 用 super()来 调 用 父 类 的 构 造 方 法。构 造 方 法 可 以 通 过 形 参 的 个 数、类 型、排 列 不 同 来 重 载,同 时 也 学 会 了 如 何 实 现 类 方 法 的 多 态。St a t i c静 态 方 法 只
42、能 直 接 调 用 静 态 成 员,不 能 直 接 调 用 非 静 态 成 员,基 本 掌 握 了 M a t h 类 中 静 态 方 法,M ath.pow()和 M a th.sqrt()的 使 用,同 时 学 会 了 如 何 使 用 M a t h.r a nd o m()生 成 随 机 数,和 如 何 建 立 对 象 的 数 组。思 考 题 什 么 是 类 的 多 态 性。一 是 操 作 名 称 的 多 态,即 多 个 操 作 具 有 相 同 的 名 字,但 这 些 操 作 所 接 受 的 信 息 类 型 必 须 不 同。所 谓 操 作 名 称 的 多 态,是 指 可 以 向 操 作
43、传 递 不 同 的 信 息,以 便 让 对 象 根 据 相 应 的 信 息 来 产 生 一 定 的 行 为。另 一 种 多 态 是 和 继 承 有 关 的 多 态,是 指 同 一 个 操 作 数 被 不 同 类 型 对 象 调 用 时 也 许 产 生 不 同 的 行 为。实 验 三,输 入 输 出 流 教 师 学 院 信 息 工 程 系 专 业 班 级 姓 名 学 号 成 绩 课 程 名 称 Jav a 技 术 实 验 项 目 名 称 实 验 三 输 入 榆 出 流 指 导 教 师 评 教 师 署语 名:年 月 日 一、实 验 目 的 1.掌 握 Java I/O基 本 原 理。2.学 会 使
44、 用 J a v a提 供 的 实 用 类 来 完 毕 特 定 的 功 能。3.掌 握 File I n p u t S t re a m、FileOut p u t S t re a m抽 象 类 的 基 本 使 用 方 法。4.掌 握 Fil e Rea d er、F i l e Writer、BufferedRe a d e r、B uff e r e dWri t e r抽 象 类 的 基 本 使 用 方 法。二、实 验 原 理 1.使 用 Fi 1 e I n put S tre a Fil e 0 u t p u t S t r eam、F i 1 e Read e r、Fil e
45、 Writer B u ffe r ed Re a d e r、Buf f er e dWriter 抽 象 类 实 现 从 文 献 中 读 取 内 容,并 添 加 所 想 要 输 入 的 内 容,接 着 一 行 一 行 输 入 到 另 一 个 文 献 中。2.实 现 给 出 的 Java A p p 1 i cat i o n 程 序,并 分 析 其 功 能。3.现 有 如 下 格 式 的 成 绩 单(文 本 格 式)score.txt:姓 名:张 三,数 学 7 2分,物 理 6 7分,英 语 7 0分.姓 名:李 四,数 学 9 2分,物 理 9 8分,英 语 8 8分.姓 名 调 五,
46、数 学 6 8分,物 理 8 0 分,英 语 7 7分.规 定 按 给 定 的 程 序 模 板 编 写 一 个 Jav a 程 序,能 按 行 读 入 上 述 格 式 的 成 绩 单,并 在 该 行 的 后 面 尾 加 上 该 同 学 的 总 成 绩,然 后 再 将 该 行 写 入 到 一 个 名 字 为 socre A na 1 y s i s.txt 的 文 献 中。三、使 用 硬 件、软 件 环 境 硬 件 环 境:i 5-720 0 U+8G内 存+2 5 6 G 硬 盘 软 件 环 境:Window s 1 0 操 作 系 统 开 发 工 具:Eel i p s e四、实 验 过 程
47、、环 节 及 原 始 记 录(算 法、原 程 序、测 试 结 果,分 析 等)1.该 程 序 的 功 能 是 通 过 解 决 字 节 流 的 抽 象 类:lnputStr e am和 Outpu t Stream完 毕 文 献 的 复 制:先 使 用 字 节 流 从“copyFi 1 e.java”文 献 中 读 取 数 据,接 着 将 读 取 到 的 数 据 写 入 到“t e m p.t xt”文 献 中 去,实 现 c o p y 功 能。源 代 码:i mpo r t j a v a,i o.*;pu b 1 i c cla ss Cop y F i le。publ i c s t a
48、 t i c v o id m a in(S t r i n g E a r gs)t ry o o F i 1 e I n p u tS t r e a m f i s=n e w F i l e I n putStream(s rc/C o p y F ile.j a v a);f o o F i l e O u t p u t St re a m fo s=new F i le O u tp u tS tre a m(temp,t x t);o i n t r e ad=f i s.re a d()o w h ile(read!=1)o o o f o s.w r i t e(r e a
49、 d);re a d=f i s.read();OSS。f is.c 1 o s e();o fo s.c 1 ose();)c a tch(I OExc e p tio n e)3。Sys t e ou t.p r i n t l n(e);)运 营 结 果:temp.txt-记 事 本 文 件(F)编 辑(E)格 式(0)查 看(V)帮 助(H)Airport java.io.*;public class CopyFile(public static void main(String args)try FilelnputStrearn fis=new FilelnputStream(z/s
50、rc/CopyFi 1 e.javFileOutputStrearn fos=new FileOutputStream(,/tenp.txt);int read=fis.readO;while(read!=-1)fos.write(read);read=fis.readO;.fis.close();fos.close();catch(lOException e)System,out.println(e);)2.A nalys i s Result.java 源 代 码:im p or t ja v a.i o.*;i m p o r t j a v a.u t i l.*;public c l