面向对象程序设计实验指导书
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、实验环境
JDK 和Eclipse软件开发环境。
五、实验步骤
1. 打开一个文本编辑器。如“记事本”。 2. 按“程序模板”输入源程序。 3. 保存源文件。注意程序名要与程序中的主类名一
致。 4. 打开命令窗口编译源程序。使用javac命令。 5. 运行程序。 1)对于大程序的运行,直接使用java命令。 2)对于小程序的运行,则需编写一个html文件,如 FirstApplet.html,内容如下: <Applet code=FirstApplet.class width=300 height=200> </Applet> 用浏览器或appletviewer打开FirstApplet.html文 件。
三、实验模板
按模板要求,将代码1和代码2替换为程序代码。
模板1:Hello.java
public class Hello
{
public static void main(String args[])
{
代码1
//命令行窗口输出“你好,很
高兴学习Java”
A a=new A(); a. fA(); } } class A { void fA()
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数", number); } } else if(d2!=0) {
System.out.printf("\n%d是2位数", number); if(d1==d2) {
System.out.println("猜大了,请再猜:"); 【代码4】 // reader调用方法获取用户从键盘键入的整数,并 赋值给yourGuess } else if(【代码5】) // 条件代码 { System.out.println("猜小了,请再猜:"); 【代码6】 // reader调用方法获取用户从键盘键入的整数, 并赋值给yourGuess }
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数", number); } } else if(d1!=0) { System.out.printf("\n%d是1位数", number); System.out.printf("\t%d是回文数", number); } } else { System.out.printf("\n%d不在1至99999之间", number); } System.out.printf("%n可继续输入整数, 或输入非整数结束程 序%n"); } System.out.println("你输出的数据不是整数"); } }
public static void main(String args[]) {
double a,b,c; Scanner reader=new Scanner(System.in); System.out.println("从键盘输入一个浮点数"); 【代码1】 // reader调用方法读取用户从键盘输入的数据,并 赋值给a b=a*a; c=a*a*a; 【代码2】 // 输出b 【代码3】 // 输出c } }
} System.out.println("猜对了!"); } }
四、思考题
果?
1.用“yourGuess>realNumber”替换代码2可以吗? 2.省略代码4或代码6,程序运行会出现怎样的结
3.语句System.out.println("猜对了!");为
何要放在while循环语句之后,放在while语句的循
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数",number); } } else if (【代码8】) // 判断number是3位数的条件 { System.out.printf("\n%d是3位数", number); If (【代码9】) // 判断number是回文数的条件 {
四、思考题
1.语句 byte x=128; 能通过编译吗? 2.int x=(byte)128; 程序输出变量x的值是多少? 3.程序运行时,用户从键盘输入abc,程序提示怎样 的错误?
实验三 表达式与循环语句(一)
一、实验目的
让学生使用if-else分支和while循环语句解决问题。
二、实验要求
System.out.printf("\n%d是5位数", number); If (【代码5】) // 判断number是回文数的条件 {
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数", number); } } else if (【代码6】) // 判断number是4位数的条件 { System.out.printf("\n%d是4位数",number); If (【代码7】) // 判断number是回文数的条件码 {
六、思考题
1.程序中的主类如果不用public修饰,编译能通过 吗?
2.程序中的主类如果不用public修饰,程序能正确 运行吗?
3.编译器怎样提示将String写成string这一错误? 4.程序将paint()方法误写成Paint(),编译能通过 吗?运行时能看到有关的输出信息吗? 5.程序中如果没有“import java.awt.*”语句,编 译时会出现哪些错误提示?
number=reader.nextInt(); if(【代码1】) // 判断number在1至99999之间的条件 {
【代码1】 // 计算number的最高位(万位)d5 【代码2】 // 计算number的千位d4 【代码3】 // 计算number的百位d3 d2=number%100/10; d1=number%10; if(【代码4】) // 判断number是5位数的条件 {
{
代码2 //命令行窗口输出“We are students”
} } 模板2:FirstApplet.java import java.applet.*; import java.awt.*; public class FirstApplet extends Applet {
public void paint(Graphics g) { g.setColor(Color.blue); 代码1 //在Java Applet中绘制一行文字: “你好,很高兴学习Java” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36); 代码2 //绘制一行文字: “We are students” } }
《面向对象程序设计(Java)》实验指导书
实验名称: 面向对象程序设计 实验类型: 综合性 学 时: 20 适用对象:
实验一 Java大、小程序的应用程序
一、实验目的
熟悉Java开发环境,并让学生掌握开发JAVA应用程序 的三个步骤:编写源文件、编译源文件和运行应用程序。
二、实验要求
分别编写一个Java应用程序和Java Applet应用程 序,输出两行文字:“你好,很高兴学习Java”和“We are students”。
public static void main (String args[ ]) {
System.out.println("给你一个1至100之间的整数,请猜测这个 数");
int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; Scanner reader=new Scanner(System.in); System.out.println("输入您的猜测:"); 【代码1】 // reader调用方法获取用户从键盘键入的整数,并赋 值给yourGuess while (【代码2】) // 循环条件。 { if (【代码3】) // 条件代码。 {
环体中合理吗?
实验三 表达式与循环语句(二)
一、实验目的
wk.baidu.com
让学生使用if-else if多分支语句。
二、实验要求
分别编写一个Java应用程序,输入一个1~99999之间 的整数;程序判断这是个几位数;并判断这个数是否是回文数 (将该数含有的数字逆序排列后得到的数和原数相同,如 12121和3223都是回文数)。
四、问答题
1.运行时输入23.89,程序提示怎样的信息?
2.运行时输入1221,程序提示怎样的信息?
3.运行时输入123456,程序提示怎样的信息?
4. 运行时输入32567,程序提示怎样的信息?
实验四 类与对象(一)
一、实验目的
让学生学习使用类来封装对象的属性和功能。
二、实验要求
编写一个Java应用程序,该程序有3 个类: Trangle,Lader和Circle,分别用来刻画“三角形”、“梯 形”和“圆形”。具体要求:(1)Trangle类具有类型为 double的三个边以及周长、面积属性,Trangle类具有返回周 长、面积以及修改三条边的功能。另外,Trangle类还具有一 个boolean类型的属性,该属性用于判断三个数能否构成一个 三角形。(2)Lader类具有类型为double的上底、下底、高、 面积属性,具有返回面积的功能。(3)Circle类具有类型为 double的半径、周长和面积属性,具有返回周长、面积的功 能。
三、实验模板
按模板要求,将【代码1】~【代码25】替换为Java程序
代码。
AreaAndLength.java
class Trangle {
double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) { 【代码1】 // 参数a, b, c分别赋值给sideA, sideB, sideC if(【代码2】) //a, b, c构成三角形的条件表达式 {
分别编写一个Java应用程序,实现如下功能:随机分
配一个1~100之间的整数;用户从键盘输入自己的猜测;程序
返回信息分别是“猜大了”、“猜小了”和“猜对了”;根据
提示再次输入数据,直到信息为“猜对了”为止。
三、实验模板
按模板要求,将【代码1】~【代码6】替换为Java程序代
码。
import java.util.*; public class GuessNumber {
三、实验模板
按模板要求,将【代码1】~【代码9】替换为Java程序代码。
Number.java
import java.util.*; public class Number {
public static void main(String args[]) {
int number=0,d5,d4,d3,d2,d1; Scanner reader=new Scanner(System.in); System.out.println("从键盘输入一个1至99999之间的数"); while(reader.hasNextInt()) {
【代码3】 // 给boo赋值 } else {
【代码4】 // 给boo赋值 } } double getLength() { 【代码5】 // 方法体,要求计算出length的值并返回
} public double getArea() {
if(boo) { double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ; return area; } else { System.out.println("不是一个三角形,不能计算面积"); return 0; } } public void setABC(double a,double b,double c) { 【代码6】 // 参数a, b, c分别赋值给sideA, sideB, sideC if(【代码7】) // a, b, c构成三角形的条件表达式 { 【代码8】 //给boo赋值。 } else { 【代码9】 // 给boo赋值 } } } class Lader { double above,bottom,height,area; Lader(double a,double b,double h) { 【代码10】 // 方法体 } double getArea( ) { 【代码11】 // 方法体,,要求计算出area返回 } }
实验二 从键盘输入数据
一、实验目的
让学生掌握从键盘输入基本类型的数据。
二、实验要求
分别编写一个Java应用程序,用户从键盘输入一个浮 点数据,程序将输出这个数的平方和三次方。
三、实验模板
按模板要求,将代码1、代码2和代码3替
换为程序代码。
InputFloat.java
import java.util.*; public class InputFloat {
JDK 和Eclipse软件开发环境。
五、实验步骤
1. 打开一个文本编辑器。如“记事本”。 2. 按“程序模板”输入源程序。 3. 保存源文件。注意程序名要与程序中的主类名一
致。 4. 打开命令窗口编译源程序。使用javac命令。 5. 运行程序。 1)对于大程序的运行,直接使用java命令。 2)对于小程序的运行,则需编写一个html文件,如 FirstApplet.html,内容如下: <Applet code=FirstApplet.class width=300 height=200> </Applet> 用浏览器或appletviewer打开FirstApplet.html文 件。
三、实验模板
按模板要求,将代码1和代码2替换为程序代码。
模板1:Hello.java
public class Hello
{
public static void main(String args[])
{
代码1
//命令行窗口输出“你好,很
高兴学习Java”
A a=new A(); a. fA(); } } class A { void fA()
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数", number); } } else if(d2!=0) {
System.out.printf("\n%d是2位数", number); if(d1==d2) {
System.out.println("猜大了,请再猜:"); 【代码4】 // reader调用方法获取用户从键盘键入的整数,并 赋值给yourGuess } else if(【代码5】) // 条件代码 { System.out.println("猜小了,请再猜:"); 【代码6】 // reader调用方法获取用户从键盘键入的整数, 并赋值给yourGuess }
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数", number); } } else if(d1!=0) { System.out.printf("\n%d是1位数", number); System.out.printf("\t%d是回文数", number); } } else { System.out.printf("\n%d不在1至99999之间", number); } System.out.printf("%n可继续输入整数, 或输入非整数结束程 序%n"); } System.out.println("你输出的数据不是整数"); } }
public static void main(String args[]) {
double a,b,c; Scanner reader=new Scanner(System.in); System.out.println("从键盘输入一个浮点数"); 【代码1】 // reader调用方法读取用户从键盘输入的数据,并 赋值给a b=a*a; c=a*a*a; 【代码2】 // 输出b 【代码3】 // 输出c } }
} System.out.println("猜对了!"); } }
四、思考题
果?
1.用“yourGuess>realNumber”替换代码2可以吗? 2.省略代码4或代码6,程序运行会出现怎样的结
3.语句System.out.println("猜对了!");为
何要放在while循环语句之后,放在while语句的循
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数",number); } } else if (【代码8】) // 判断number是3位数的条件 { System.out.printf("\n%d是3位数", number); If (【代码9】) // 判断number是回文数的条件 {
四、思考题
1.语句 byte x=128; 能通过编译吗? 2.int x=(byte)128; 程序输出变量x的值是多少? 3.程序运行时,用户从键盘输入abc,程序提示怎样 的错误?
实验三 表达式与循环语句(一)
一、实验目的
让学生使用if-else分支和while循环语句解决问题。
二、实验要求
System.out.printf("\n%d是5位数", number); If (【代码5】) // 判断number是回文数的条件 {
System.out.printf("\t%d是回文数", number); } else { System.out.printf("\t%d不是回文数", number); } } else if (【代码6】) // 判断number是4位数的条件 { System.out.printf("\n%d是4位数",number); If (【代码7】) // 判断number是回文数的条件码 {
六、思考题
1.程序中的主类如果不用public修饰,编译能通过 吗?
2.程序中的主类如果不用public修饰,程序能正确 运行吗?
3.编译器怎样提示将String写成string这一错误? 4.程序将paint()方法误写成Paint(),编译能通过 吗?运行时能看到有关的输出信息吗? 5.程序中如果没有“import java.awt.*”语句,编 译时会出现哪些错误提示?
number=reader.nextInt(); if(【代码1】) // 判断number在1至99999之间的条件 {
【代码1】 // 计算number的最高位(万位)d5 【代码2】 // 计算number的千位d4 【代码3】 // 计算number的百位d3 d2=number%100/10; d1=number%10; if(【代码4】) // 判断number是5位数的条件 {
{
代码2 //命令行窗口输出“We are students”
} } 模板2:FirstApplet.java import java.applet.*; import java.awt.*; public class FirstApplet extends Applet {
public void paint(Graphics g) { g.setColor(Color.blue); 代码1 //在Java Applet中绘制一行文字: “你好,很高兴学习Java” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36); 代码2 //绘制一行文字: “We are students” } }
《面向对象程序设计(Java)》实验指导书
实验名称: 面向对象程序设计 实验类型: 综合性 学 时: 20 适用对象:
实验一 Java大、小程序的应用程序
一、实验目的
熟悉Java开发环境,并让学生掌握开发JAVA应用程序 的三个步骤:编写源文件、编译源文件和运行应用程序。
二、实验要求
分别编写一个Java应用程序和Java Applet应用程 序,输出两行文字:“你好,很高兴学习Java”和“We are students”。
public static void main (String args[ ]) {
System.out.println("给你一个1至100之间的整数,请猜测这个 数");
int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; Scanner reader=new Scanner(System.in); System.out.println("输入您的猜测:"); 【代码1】 // reader调用方法获取用户从键盘键入的整数,并赋 值给yourGuess while (【代码2】) // 循环条件。 { if (【代码3】) // 条件代码。 {
环体中合理吗?
实验三 表达式与循环语句(二)
一、实验目的
wk.baidu.com
让学生使用if-else if多分支语句。
二、实验要求
分别编写一个Java应用程序,输入一个1~99999之间 的整数;程序判断这是个几位数;并判断这个数是否是回文数 (将该数含有的数字逆序排列后得到的数和原数相同,如 12121和3223都是回文数)。
四、问答题
1.运行时输入23.89,程序提示怎样的信息?
2.运行时输入1221,程序提示怎样的信息?
3.运行时输入123456,程序提示怎样的信息?
4. 运行时输入32567,程序提示怎样的信息?
实验四 类与对象(一)
一、实验目的
让学生学习使用类来封装对象的属性和功能。
二、实验要求
编写一个Java应用程序,该程序有3 个类: Trangle,Lader和Circle,分别用来刻画“三角形”、“梯 形”和“圆形”。具体要求:(1)Trangle类具有类型为 double的三个边以及周长、面积属性,Trangle类具有返回周 长、面积以及修改三条边的功能。另外,Trangle类还具有一 个boolean类型的属性,该属性用于判断三个数能否构成一个 三角形。(2)Lader类具有类型为double的上底、下底、高、 面积属性,具有返回面积的功能。(3)Circle类具有类型为 double的半径、周长和面积属性,具有返回周长、面积的功 能。
三、实验模板
按模板要求,将【代码1】~【代码25】替换为Java程序
代码。
AreaAndLength.java
class Trangle {
double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) { 【代码1】 // 参数a, b, c分别赋值给sideA, sideB, sideC if(【代码2】) //a, b, c构成三角形的条件表达式 {
分别编写一个Java应用程序,实现如下功能:随机分
配一个1~100之间的整数;用户从键盘输入自己的猜测;程序
返回信息分别是“猜大了”、“猜小了”和“猜对了”;根据
提示再次输入数据,直到信息为“猜对了”为止。
三、实验模板
按模板要求,将【代码1】~【代码6】替换为Java程序代
码。
import java.util.*; public class GuessNumber {
三、实验模板
按模板要求,将【代码1】~【代码9】替换为Java程序代码。
Number.java
import java.util.*; public class Number {
public static void main(String args[]) {
int number=0,d5,d4,d3,d2,d1; Scanner reader=new Scanner(System.in); System.out.println("从键盘输入一个1至99999之间的数"); while(reader.hasNextInt()) {
【代码3】 // 给boo赋值 } else {
【代码4】 // 给boo赋值 } } double getLength() { 【代码5】 // 方法体,要求计算出length的值并返回
} public double getArea() {
if(boo) { double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ; return area; } else { System.out.println("不是一个三角形,不能计算面积"); return 0; } } public void setABC(double a,double b,double c) { 【代码6】 // 参数a, b, c分别赋值给sideA, sideB, sideC if(【代码7】) // a, b, c构成三角形的条件表达式 { 【代码8】 //给boo赋值。 } else { 【代码9】 // 给boo赋值 } } } class Lader { double above,bottom,height,area; Lader(double a,double b,double h) { 【代码10】 // 方法体 } double getArea( ) { 【代码11】 // 方法体,,要求计算出area返回 } }
实验二 从键盘输入数据
一、实验目的
让学生掌握从键盘输入基本类型的数据。
二、实验要求
分别编写一个Java应用程序,用户从键盘输入一个浮 点数据,程序将输出这个数的平方和三次方。
三、实验模板
按模板要求,将代码1、代码2和代码3替
换为程序代码。
InputFloat.java
import java.util.*; public class InputFloat {